Aggiunta creazione run-time sugli zoom-field
git-svn-id: svn://10.65.10.50/trunk@2216 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
f6b4136c9b
commit
73a54e0ab1
@ -1136,7 +1136,17 @@ int TList_sheet::do_input()
|
||||
else
|
||||
{
|
||||
const short id = _fld->atodlg(fld);
|
||||
if (id > 0) rowsel.add(field().mask().get(id));
|
||||
if (id > 0)
|
||||
{
|
||||
TMask_field& tempf = field().mask().field(id);
|
||||
if ( tempf.class_id() == CLASS_ZOOM_FIELD )
|
||||
{
|
||||
TZoom_field& tempz = ( TZoom_field & ) tempf;
|
||||
rowsel.add( tempz.get_first_line( ) );
|
||||
}
|
||||
else
|
||||
rowsel.add(field().mask().get(id));
|
||||
}
|
||||
else rowsel.add("");
|
||||
}
|
||||
}
|
||||
@ -2168,11 +2178,11 @@ const char* TEdit_field::format(const char* d) const
|
||||
if (_flags.uppercase)
|
||||
fpark.upper();
|
||||
|
||||
if (!_flags.pipeallowed)
|
||||
{
|
||||
for (int p = 0; fpark[p]; p++)
|
||||
if (fpark[p] == '|') fpark[p] = '/';
|
||||
}
|
||||
if (!_flags.pipeallowed)
|
||||
{
|
||||
for (int p = 0; fpark[p]; p++)
|
||||
if (fpark[p] == '|') fpark[p] = '/';
|
||||
}
|
||||
}
|
||||
|
||||
return fpark;
|
||||
@ -3691,16 +3701,20 @@ const char* TMemo_field::get_field_data() const
|
||||
return _data;
|
||||
}
|
||||
|
||||
|
||||
void TZoom_field::set_window_data( const char* data )
|
||||
{
|
||||
|
||||
TEdit_field::set_window_data( data );
|
||||
set_first_line( data );
|
||||
TToken_string getfl( data, '\n' );
|
||||
TString spark( getfl.get( 0 ) );
|
||||
TEdit_field::set_window_data( spark );
|
||||
// set_first_line( spark );
|
||||
}
|
||||
|
||||
const char* TZoom_field::get_window_data( ) const
|
||||
{
|
||||
return TEdit_field::get_window_data( );
|
||||
TToken_string newmemo( _memo );
|
||||
newmemo.add( TEdit_field::get_window_data( ), 0 );
|
||||
return newmemo;
|
||||
}
|
||||
|
||||
void TZoom_field::set_field_data( const char* data )
|
||||
@ -3717,20 +3731,24 @@ bool TZoom_field::on_key( KEY key )
|
||||
{
|
||||
if ( key == K_F8 )
|
||||
{
|
||||
TMask m( "Zoom", 1, 72, 14 );
|
||||
m.add_memo( 101, 1, _prompt, 2, 2 );
|
||||
m.add_button( DLG_OK, 1, "", -12, -1 );
|
||||
m.add_button( DLG_CANCEL, 1, "", -12, -1 );
|
||||
set_first_line( get_window_data( ) );
|
||||
TMask m( "Zoom", 1, 72, 15 );
|
||||
m.add_memo( 101, 0, prompt(), 2, 2, 68, 10 );
|
||||
m.add_button( DLG_OK, 0, "", -12, 13, 9, 2 );
|
||||
m.add_button( DLG_CANCEL, 0, "", -22, 13, 9, 2 );
|
||||
m.set( 101, _memo );
|
||||
if ( m.run( ) )
|
||||
_memo = m.get( 101 );
|
||||
if ( m.run( ) != K_ESC )
|
||||
{
|
||||
_memo = m.get( 101 );
|
||||
set_window_data( get_first_line( ) );
|
||||
}
|
||||
}
|
||||
return TEdit_field::on_key( key );
|
||||
}
|
||||
|
||||
TZoom_field::TZoom_field( TMask* mask ) : TEdit_field( mask ), _memo( "", '\n' )
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
TZoom_field::~TZoom_field( )
|
||||
@ -3746,6 +3764,31 @@ const char *TZoom_field::get_first_line( )
|
||||
|
||||
void TZoom_field::set_first_line( const char * c )
|
||||
{
|
||||
_memo.add( c, 0 );
|
||||
_memo.destroy( 1 );
|
||||
TToken_string gfl( c, '\n' );
|
||||
TString spark( gfl.get( 0 ) );
|
||||
_memo.add( spark, 0 );
|
||||
// _memo.destroy( 1 );
|
||||
}
|
||||
|
||||
void TZoom_field::create(WINDOW parent)
|
||||
{
|
||||
TEdit_field::create( parent );
|
||||
|
||||
#if XVTWS == WMWS
|
||||
int delta = 2;
|
||||
#else
|
||||
int delta = 1;
|
||||
#endif
|
||||
|
||||
if (_browse || _sheet) delta *= 2;
|
||||
_buttonzoom = xvt_create_control(WC_PUSHBUTTON, _x+_width+delta, _y,
|
||||
2, 1, "Z", parent, default_flags(), PTR_LONG(this), DLG_F8);
|
||||
}
|
||||
|
||||
void TZoom_field::destroy()
|
||||
{
|
||||
if (_buttonzoom)
|
||||
{ xvt_vobj_destroy(_buttonzoom); _buttonwin = NULL_WIN; }
|
||||
TEdit_field::destroy();
|
||||
}
|
||||
|
||||
|
@ -205,7 +205,7 @@ public:
|
||||
bool right_justified() const
|
||||
{ return _flags.rightjust; }
|
||||
|
||||
// @cmember Verifica la alloowance of the pipe
|
||||
// @cmember Verifica la allowance of the pipe
|
||||
bool pipe_allowed() const
|
||||
{ return _flags.pipeallowed; }
|
||||
|
||||
@ -1041,13 +1041,18 @@ public:
|
||||
// @base public | TEdit_field
|
||||
class TZoom_field : public TEdit_field
|
||||
{
|
||||
// @access Private Member
|
||||
// @access Private Member
|
||||
TToken_string _memo;
|
||||
|
||||
TToken_string _memo;
|
||||
// @cmember Finestra del bottone per lo zoom del campo
|
||||
WINDOW _buttonzoom;
|
||||
|
||||
|
||||
// @access Protected Member
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
// @cmember Ritorna l'identificatore della classe
|
||||
virtual word class_id() const
|
||||
{ return CLASS_ZOOM_FIELD; };
|
||||
@ -1063,13 +1068,18 @@ protected:
|
||||
virtual void set_field_data(const char* data);
|
||||
// @cmember Legge il valore del campo
|
||||
virtual const char* get_field_data() const;
|
||||
const char * get_first_line( );
|
||||
void set_first_line( const char * c );
|
||||
|
||||
// @cmember Crea il controllo
|
||||
virtual void create(WINDOW parent);
|
||||
// @cmember Distrugge il contrllo
|
||||
virtual void destroy();
|
||||
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
// @cmember Gestisce la pressione del tasto (TRUE se la gestione ha avuto successo)
|
||||
const char * get_first_line( );
|
||||
virtual bool on_key(KEY key);
|
||||
// @cmember Costruttore
|
||||
TZoom_field(TMask* mask);
|
||||
|
Loading…
x
Reference in New Issue
Block a user