Corretto problemino col focus degli sheet
Aggiunta possibilita' di cambiare il prompt di un groupbox git-svn-id: svn://10.65.10.50/trunk@948 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
1fd60f8e2c
commit
d72f84feb1
@ -401,6 +401,12 @@ void TControl::update() const
|
|||||||
win_set_fore_color(_hdc, disabled() ? DISABLED_COLOR : NORMAL_COLOR);
|
win_set_fore_color(_hdc, disabled() ? DISABLED_COLOR : NORMAL_COLOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TControl::set_caption(const char* t)
|
||||||
|
{
|
||||||
|
_caption = t;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TText
|
// TText
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
@ -86,6 +86,7 @@ public:
|
|||||||
WINDOW win() const { return _win; }
|
WINDOW win() const { return _win; }
|
||||||
short id() const { return _id; }
|
short id() const { return _id; }
|
||||||
const char* caption() const { return _caption; }
|
const char* caption() const { return _caption; }
|
||||||
|
void set_caption(const char* c);
|
||||||
|
|
||||||
bool checked() const { return _checked; }
|
bool checked() const { return _checked; }
|
||||||
virtual void check(bool on);
|
virtual void check(bool on);
|
||||||
|
@ -646,7 +646,7 @@ int TMask::find_active_field(int first, int dir) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TMask::set_focus()
|
void TMask::set_focus()
|
||||||
{
|
{
|
||||||
_focus = find_active_field(_focus, +1);
|
_focus = find_active_field(_focus, +1);
|
||||||
const TMask_field& f = fld(_focus);
|
const TMask_field& f = fld(_focus);
|
||||||
const int page = find_parent_page(f);
|
const int page = find_parent_page(f);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// $Id: maskfld.cpp,v 1.74 1995-01-31 16:15:29 guy Exp $
|
// $Id: maskfld.cpp,v 1.75 1995-02-01 18:03:51 guy Exp $
|
||||||
#include <xvt.h>
|
#include <xvt.h>
|
||||||
|
|
||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
@ -393,8 +393,7 @@ void TMask_field::set_dirty(bool d)
|
|||||||
// Certified 99%
|
// Certified 99%
|
||||||
const char* TMask_field::get_window_data() const
|
const char* TMask_field::get_window_data() const
|
||||||
{
|
{
|
||||||
get_title(win(), __fpark, MAXSTR);
|
return get_title(win(), __fpark, MAXSTR);
|
||||||
return __fpark;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -728,8 +727,8 @@ bool TMask_field::do_message(int num)
|
|||||||
bool TMask_field::test_focus_change()
|
bool TMask_field::test_focus_change()
|
||||||
{
|
{
|
||||||
bool ok = TRUE;
|
bool ok = TRUE;
|
||||||
if (focusdirty()) on_key(K_TAB);
|
if (focusdirty()) on_key(K_TAB); // Comportamento normale
|
||||||
else if (is_edit() && get().not_empty()) on_hit();
|
else if (is_edit() && in_key(1)) on_hit(); // Serve per eseguire gli handler autoprementi
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3153,10 +3152,16 @@ void TGroup_field::parse_head(TScanner& scanner)
|
|||||||
_size = scanner.integer();
|
_size = scanner.integer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TGroup_field::create(WINDOW parent)
|
void TGroup_field::create(WINDOW parent)
|
||||||
{
|
{
|
||||||
const long f = _flags.rightjust ? CTL_FLAG_MULTIPLE : 0;
|
const long f = _flags.rightjust ? CTL_FLAG_MULTIPLE : 0;
|
||||||
wincreate(WC_GROUPBOX, _width, _size, _prompt, parent, f);
|
wincreate(WC_GROUPBOX, _width, _size, _prompt, parent, f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TGroup_field::set_window_data(const char* data)
|
||||||
|
{ xvt_set_title(win(), data); }
|
||||||
|
|
||||||
|
void TGroup_field::set_field_data(const char* data)
|
||||||
|
{ xvt_set_title(win(), data); }
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $Id: maskfld.h,v 1.21 1995-01-26 13:57:41 guy Exp $ */
|
/* $Id: maskfld.h,v 1.22 1995-02-01 18:03:56 guy Exp $ */
|
||||||
#ifndef __MASKFLD_H
|
#ifndef __MASKFLD_H
|
||||||
#define __MASKFLD_H
|
#define __MASKFLD_H
|
||||||
|
|
||||||
@ -562,6 +562,8 @@ protected:
|
|||||||
// @DPROT
|
// @DPROT
|
||||||
virtual void parse_head(TScanner& scanner);
|
virtual void parse_head(TScanner& scanner);
|
||||||
virtual void create(WINDOW parent);
|
virtual void create(WINDOW parent);
|
||||||
|
virtual void set_window_data(const char* data);
|
||||||
|
virtual void set_field_data(const char* data);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// @FPUB
|
// @FPUB
|
||||||
|
@ -369,7 +369,7 @@ void TSpreadsheet::set_focus_cell(int riga, int colonna)
|
|||||||
const int r = row2rec(riga);
|
const int r = row2rec(riga);
|
||||||
|
|
||||||
for (; colonna < _columns; colonna++)
|
for (; colonna < _columns; colonna++)
|
||||||
if (!cell_disabled(r, colonna-1))
|
if (!cell_disabled(r, colonna-1))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (colonna < _columns)
|
if (colonna < _columns)
|
||||||
@ -556,8 +556,11 @@ void TSpreadsheet::list_handler(XI_EVENT *xiev)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case XIE_CHG_CELL:
|
case XIE_CHG_CELL:
|
||||||
notify_change();
|
if (_edit_field)
|
||||||
_cell_dirty = TRUE;
|
{
|
||||||
|
notify_change();
|
||||||
|
_edit_field->set_focusdirty(_cell_dirty = TRUE);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case XIE_BUTTON:
|
case XIE_BUTTON:
|
||||||
if (xiev->v.xi_obj->type == XIT_CELL)
|
if (xiev->v.xi_obj->type == XIT_CELL)
|
||||||
@ -673,7 +676,7 @@ void TSpreadsheet::list_handler(XI_EVENT *xiev)
|
|||||||
{
|
{
|
||||||
_edit_field = f;
|
_edit_field = f;
|
||||||
_cur_col = xiev->v.xi_obj->v.cell.column;
|
_cur_col = xiev->v.xi_obj->v.cell.column;
|
||||||
_cell_dirty = FALSE;
|
_edit_field->set_focusdirty(_cell_dirty = FALSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -688,15 +691,12 @@ void TSpreadsheet::list_handler(XI_EVENT *xiev)
|
|||||||
c->set(nuo); // Set new mask value
|
c->set(nuo); // Set new mask value
|
||||||
c->set_dirty(); // Get it dirty!
|
c->set_dirty(); // Get it dirty!
|
||||||
if (c->on_key(c->is_edit() ? K_TAB : K_SPACE) == FALSE) // Test it
|
if (c->on_key(c->is_edit() ? K_TAB : K_SPACE) == FALSE) // Test it
|
||||||
{
|
|
||||||
xiev->refused = *nuo != '\0';
|
xiev->refused = *nuo != '\0';
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
|
||||||
mask2str(_cur_rec); // Update sheet row
|
mask2str(_cur_rec); // Update sheet row
|
||||||
_edit_field = NULL; // Reset current field
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
if (!xiev->refused)
|
||||||
|
_edit_field = NULL; // Reset current field
|
||||||
_check_enabled = TRUE;
|
_check_enabled = TRUE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1296,8 +1296,8 @@ void TSheet_field::highlight() const
|
|||||||
if (items())
|
if (items())
|
||||||
{
|
{
|
||||||
_sheet->_firstfocus = FALSE;
|
_sheet->_firstfocus = FALSE;
|
||||||
_sheet->_edit_field = NULL;
|
if (_sheet->_edit_field == NULL)
|
||||||
_sheet->set_focus_cell(0, 1);
|
_sheet->set_focus_cell(0, 1);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -756,6 +756,17 @@ const char* xvt_get_title(WINDOW win)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void xvt_set_title(WINDOW win, const char* cap)
|
||||||
|
{
|
||||||
|
#if XVT_OS == XVT_OS_WIN && !defined(__CTL3D__)
|
||||||
|
TControl* c = TControl::WINDOW2TControl(win);
|
||||||
|
c->set_caption(cap);
|
||||||
|
#else
|
||||||
|
set_title(win, cap);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void xvt_set_front_control(WINDOW win)
|
void xvt_set_front_control(WINDOW win)
|
||||||
{
|
{
|
||||||
#if XVT_OS == XVT_OS_WIN && !defined(__CTL3D__)
|
#if XVT_OS == XVT_OS_WIN && !defined(__CTL3D__)
|
||||||
|
@ -56,6 +56,7 @@ WINDOW xvt_create_window
|
|||||||
void xvt_set_font(WINDOW win, int family, int style, int dim = 0);
|
void xvt_set_font(WINDOW win, int family, int style, int dim = 0);
|
||||||
void xvt_set_front_control(WINDOW win);
|
void xvt_set_front_control(WINDOW win);
|
||||||
const char* xvt_get_title(WINDOW win);
|
const char* xvt_get_title(WINDOW win);
|
||||||
|
void xvt_set_title(WINDOW win, const char* title);
|
||||||
void xvt_enable_control(WINDOW win, bool on);
|
void xvt_enable_control(WINDOW win, bool on);
|
||||||
void xvt_check_box(WINDOW win, bool on);
|
void xvt_check_box(WINDOW win, bool on);
|
||||||
bool xvt_get_checked_state(WINDOW win);
|
bool xvt_get_checked_state(WINDOW win);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user