Modifiche apportate ai TZoom_field.
Aggiunti metodi hide() e show(). Cambiate: get_window_data(), on_key(), set_first_line() per gestire piu' di 256 caratteri. git-svn-id: svn://10.65.10.50/trunk@2339 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
96b5645a23
commit
2aa34190c3
@ -588,13 +588,12 @@ void TMask_field::set(const char* s)
|
||||
|
||||
TString& TMask_field::get() const
|
||||
{
|
||||
static TString256 gpark;
|
||||
|
||||
static TString gpark;
|
||||
if (mask().is_running())
|
||||
gpark = get_window_data();
|
||||
else
|
||||
gpark = get_field_data();
|
||||
|
||||
|
||||
if (_flags.trim) gpark.trim();
|
||||
return gpark;
|
||||
}
|
||||
@ -3729,9 +3728,15 @@ void TZoom_field::set_window_data( const char* data )
|
||||
|
||||
const char* TZoom_field::get_window_data( ) const
|
||||
{
|
||||
TToken_string newmemo( _memo );
|
||||
newmemo.add( TEdit_field::get_window_data( ), 0 );
|
||||
return newmemo;
|
||||
TToken_string& m = (TToken_string&)_memo;
|
||||
const int pos = m.find('\n');
|
||||
TString park;
|
||||
if (pos >= 0)
|
||||
park=&(m[pos+1]);
|
||||
m = TEdit_field::get_window_data();
|
||||
if (pos >= 0 )
|
||||
m << '\n' << park;
|
||||
return _memo;
|
||||
}
|
||||
|
||||
void TZoom_field::set_field_data( const char* data )
|
||||
@ -3756,13 +3761,29 @@ bool TZoom_field::on_key( KEY key )
|
||||
m.set( 101, _memo );
|
||||
if ( m.run( ) != K_ESC )
|
||||
{
|
||||
_memo = m.get( 101 );
|
||||
set_window_data( get_first_line( ) );
|
||||
_memo = m.get(101);
|
||||
TString line(get_first_line());
|
||||
if (line.len() > size()) line.cut(size());
|
||||
set_window_data( line );
|
||||
}
|
||||
}
|
||||
return TEdit_field::on_key( key );
|
||||
}
|
||||
|
||||
void TZoom_field::enable(bool on)
|
||||
{
|
||||
TEdit_field::enable(on);
|
||||
if (_buttonzoom != NULL_WIN)
|
||||
xvt_vobj_set_visible(_buttonzoom, on && shown());
|
||||
}
|
||||
|
||||
void TZoom_field::show(bool on)
|
||||
{
|
||||
TEdit_field::show(on);
|
||||
if (_buttonzoom != NULL_WIN)
|
||||
xvt_vobj_set_visible(_buttonzoom, on && enabled());
|
||||
}
|
||||
|
||||
TZoom_field::TZoom_field( TMask* mask ) : TEdit_field( mask ), _memo( "", '\n' )
|
||||
{
|
||||
|
||||
@ -3783,7 +3804,13 @@ void TZoom_field::set_first_line( const char * c )
|
||||
{
|
||||
TToken_string gfl( c, '\n' );
|
||||
TString spark( gfl.get( 0 ) );
|
||||
_memo.add( spark, 0 );
|
||||
TString park;
|
||||
const int pos = _memo.find('\n');
|
||||
if (pos >= 0)
|
||||
park=&(_memo[pos+1]);
|
||||
_memo = spark;
|
||||
if (pos >= 0 )
|
||||
_memo << '\n' << park;
|
||||
// _memo.destroy( 1 );
|
||||
}
|
||||
|
||||
|
@ -1031,7 +1031,7 @@ protected:
|
||||
virtual bool on_key(KEY k);
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
public:
|
||||
// @cmember Costruttore
|
||||
TMemo_field(TMask* mask);
|
||||
// @cmember Distruttore
|
||||
@ -1080,6 +1080,10 @@ protected:
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
// @cmember Permette di rendere visibile/invisibile un campo (vedi <mf TEdit_field::show>)
|
||||
virtual void show(bool on = TRUE);
|
||||
// @cmember Abilita/disabilita il campo (lo rende scrivibile) (vedi <mf TEdit_field::enable>)
|
||||
virtual void enable(bool on = TRUE);
|
||||
// @cmember Gestisce la pressione del tasto (TRUE se la gestione ha avuto successo)
|
||||
const char * get_first_line( );
|
||||
virtual bool on_key(KEY key);
|
||||
|
Loading…
x
Reference in New Issue
Block a user