@ -100,6 +100,50 @@ int ProgramResources::GetYSize()
return y_size ;
}
void ProgramResources : : SetPadXPos ( int x )
{
pad_x_pos = x ;
}
void ProgramResources : : SetPadYPos ( int y )
{
pad_y_pos = y ;
}
int ProgramResources : : GetPadXPos ( )
{
return pad_x_pos ;
}
int ProgramResources : : GetPadYPos ( )
{
return pad_y_pos ;
}
void ProgramResources : : SetPadXSize ( int x )
{
pad_x_size = x ;
}
void ProgramResources : : SetPadYSize ( int y )
{
pad_y_size = y ;
}
int ProgramResources : : GetPadXSize ( )
{
return pad_x_size ;
}
int ProgramResources : : GetPadYSize ( )
{
return pad_y_size ;
}
void ProgramResources : : SetYSizeNormal ( int y )
{
y_size_normal = y ;
@ -151,11 +195,6 @@ ProgramResources::View ProgramResources::GetView()
void ProgramResources : : SetMaximized ( bool max )
{
maximized = max ;
if ( maximized )
ShowWindow ( main_window , SW_SHOWMAXIMIZED ) ;
else
ShowWindow ( main_window , SW_SHOWNORMAL ) ;
}
@ -164,6 +203,42 @@ bool ProgramResources::GetMaximized()
return maximized ;
}
void ProgramResources : : SetPadMaximized ( bool max )
{
pad_maximized = max ;
}
bool ProgramResources : : GetPadMaximized ( )
{
return pad_maximized ;
}
void ProgramResources : : ShowPad ( bool show )
{
show_pad = show ;
if ( show_pad )
{
if ( pad_maximized )
ShowWindow ( pad_window , SW_SHOWMAXIMIZED ) ;
else
ShowWindow ( pad_window , SW_SHOWNORMAL ) ;
}
else
{
ShowWindow ( pad_window , SW_HIDE ) ;
}
}
bool ProgramResources : : IsPadVisible ( )
{
return show_pad ;
}
void ProgramResources : : SetAlwaysOnTop ( bool always )
{
always_on_top = always ;
@ -440,26 +515,6 @@ int ProgramResources::GetPrecision()
void ProgramResources : : TurnPad ( )
{
show_pad = ! show_pad ;
if ( show_pad )
{
ShowWindow ( pad_window , SW_SHOW ) ;
}
else
{
ShowWindow ( pad_window , SW_HIDE ) ;
}
}
bool ProgramResources : : IsPadVisible ( )
{
return show_pad ;
}
ProgramResources : : ProgramResources ( )
{
// if you want to change the input buffer you have also to change
@ -496,6 +551,12 @@ ProgramResources::ProgramResources()
x_size = 100 ;
y_size = 100 ;
pad_x_pos = 30 ;
pad_y_pos = 30 ;
pad_x_size = 600 ;
pad_y_size = 500 ;
pad_maximized = false ;
y_size_normal = 0 ;
y_size_compact = 0 ;
x_size_min = 0 ;
@ -696,6 +757,35 @@ void ProgramResources::CheckCoordinates()
y_pos = cy - y_size ;
}
void ProgramResources : : CheckPadCoordinates ( )
{
if ( pad_x_pos < - 50 )
pad_x_pos = 0 ;
if ( pad_y_pos < - 50 )
pad_y_pos = 0 ;
if ( pad_x_size < 30 )
pad_x_size = 600 ;
if ( pad_y_size < 30 )
pad_y_size = 500 ;
int cx = GetSystemMetrics ( SM_CXSCREEN ) ;
int cy = GetSystemMetrics ( SM_CYSCREEN ) ;
if ( pad_x_size > cx + 10 )
pad_x_size = cx ;
if ( pad_y_size > cy + 10 )
pad_y_size = cy ;
if ( pad_x_pos > cx - 50 )
pad_x_pos = cx - pad_x_size ;
if ( pad_y_pos > cy - 50 )
pad_y_pos = cy - pad_y_size ;
}
void ProgramResources : : AddVariablesFunctions ( IniParser : : Section & temp_variables ,
@ -778,7 +868,7 @@ IniParser::Error ProgramResources::ReadFromFile()
IniParser iparser ;
IniParser : : Section temp_variables , temp_functions ;
IniParser : : Section : : iterator ic ;
std : : string ini_value [ 2 0] ;
std : : string ini_value [ 3 0] ;
iparser . ConvertValueToSmallLetters ( false ) ;
iparser . SectionCaseSensitive ( false ) ;
@ -803,6 +893,12 @@ std::string ini_value[20];
iparser . Associate ( " global|disp.dec.point " , & ini_value [ 14 ] ) ;
iparser . Associate ( " global|disp.remove.zeroes " , & ini_value [ 15 ] ) ;
iparser . Associate ( " global|disp.deg_rad_grad " , & ini_value [ 16 ] ) ;
iparser . Associate ( " global|pad.x " , & ini_value [ 17 ] ) ;
iparser . Associate ( " global|pad.y " , & ini_value [ 18 ] ) ;
iparser . Associate ( " global|pad.size.x " , & ini_value [ 19 ] ) ;
iparser . Associate ( " global|pad.size.y " , & ini_value [ 20 ] ) ;
iparser . Associate ( " global|pad.maximized " , & ini_value [ 21 ] ) ;
iparser . Associate ( " global|pad " , & ini_value [ 22 ] ) ;
iparser . Associate ( " variables " , & temp_variables ) ;
iparser . Associate ( " functions " , & temp_functions ) ;
@ -858,6 +954,14 @@ std::string ini_value[20];
SetDecimalPoint ( atoi ( ini_value [ 14 ] . c_str ( ) ) ) ;
SetDegRadGrad ( atoi ( ini_value [ 16 ] . c_str ( ) ) ) ;
pad_x_pos = atoi ( ini_value [ 17 ] . c_str ( ) ) ;
pad_y_pos = atoi ( ini_value [ 18 ] . c_str ( ) ) ;
pad_x_size = atoi ( ini_value [ 19 ] . c_str ( ) ) ;
pad_y_size = atoi ( ini_value [ 20 ] . c_str ( ) ) ;
pad_maximized = bool ( atoi ( ini_value [ 21 ] . c_str ( ) ) ) ;
show_pad = bool ( atoi ( ini_value [ 22 ] . c_str ( ) ) ) ;
CheckPadCoordinates ( ) ;
if ( err ! = IniParser : : err_ok )
bad_line = iparser . GetBadLine ( ) ;
@ -878,11 +982,17 @@ std::ofstream file( configuration_file.c_str() );
file < < " always.on.top = " < < ( int ) always_on_top < < std : : endl ;
file < < " view = " < < ( int ) view < < std : : endl ;
file < < " maximized = " < < ( int ) maximized < < std : : endl ;
file < < " x = " < < x_pos < < std : : endl ;
file < < " y = " < < y_pos < < std : : endl ;
file < < " size.x = " < < x_size < < std : : endl ;
file < < " size.y = " < < y_size < < std : : endl ;
file < < " maximized = " < < ( int ) maximized < < std : : endl ;
file < < " pad = " < < ( int ) show_pad < < std : : endl ;
file < < " pad.x = " < < pad_x_pos < < std : : endl ;
file < < " pad.y = " < < pad_y_pos < < std : : endl ;
file < < " pad.size.x = " < < pad_x_size < < std : : endl ;
file < < " pad.size.y = " < < pad_y_size < < std : : endl ;
file < < " pad.maximized = " < < ( int ) pad_maximized < < std : : endl ;
file < < " precision = " < < precision < < std : : endl ;
file < < " disp.input = " < < base_input < < std : : endl ;
file < < " disp.output = " < < base_output < < std : : endl ;