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,8 +588,7 @@ void TMask_field::set(const char* s)
|
|||||||
|
|
||||||
TString& TMask_field::get() const
|
TString& TMask_field::get() const
|
||||||
{
|
{
|
||||||
static TString256 gpark;
|
static TString gpark;
|
||||||
|
|
||||||
if (mask().is_running())
|
if (mask().is_running())
|
||||||
gpark = get_window_data();
|
gpark = get_window_data();
|
||||||
else
|
else
|
||||||
@ -3729,9 +3728,15 @@ void TZoom_field::set_window_data( const char* data )
|
|||||||
|
|
||||||
const char* TZoom_field::get_window_data( ) const
|
const char* TZoom_field::get_window_data( ) const
|
||||||
{
|
{
|
||||||
TToken_string newmemo( _memo );
|
TToken_string& m = (TToken_string&)_memo;
|
||||||
newmemo.add( TEdit_field::get_window_data( ), 0 );
|
const int pos = m.find('\n');
|
||||||
return newmemo;
|
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 )
|
void TZoom_field::set_field_data( const char* data )
|
||||||
@ -3756,13 +3761,29 @@ bool TZoom_field::on_key( KEY key )
|
|||||||
m.set( 101, _memo );
|
m.set( 101, _memo );
|
||||||
if ( m.run( ) != K_ESC )
|
if ( m.run( ) != K_ESC )
|
||||||
{
|
{
|
||||||
_memo = m.get( 101 );
|
_memo = m.get(101);
|
||||||
set_window_data( get_first_line( ) );
|
TString line(get_first_line());
|
||||||
|
if (line.len() > size()) line.cut(size());
|
||||||
|
set_window_data( line );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TEdit_field::on_key( key );
|
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' )
|
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' );
|
TToken_string gfl( c, '\n' );
|
||||||
TString spark( gfl.get( 0 ) );
|
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 );
|
// _memo.destroy( 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1080,6 +1080,10 @@ protected:
|
|||||||
|
|
||||||
// @access Public Member
|
// @access Public Member
|
||||||
public:
|
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)
|
// @cmember Gestisce la pressione del tasto (TRUE se la gestione ha avuto successo)
|
||||||
const char * get_first_line( );
|
const char * get_first_line( );
|
||||||
virtual bool on_key(KEY key);
|
virtual bool on_key(KEY key);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user