From 166297ad317b006589136150a3d898f1a692ea4f Mon Sep 17 00:00:00 2001 From: guy <guy@c028cbd2-c16b-5b4b-a496-9718f37d4682> Date: Wed, 9 Dec 2009 11:19:59 +0000 Subject: [PATCH] Patch level : 10.0 Files correlati : ba0 Ricompilazione Demo : [ ] Commento : Aggiunto supporto per interlinea git-svn-id: svn://10.65.10.50/trunk@19736 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/colors.h | 1 + include/controls.cpp | 37 ++++++++++++++++++++++--------------- include/dongle.cpp | 2 ++ include/dongle.h | 4 ++-- include/scanner.h | 4 ++-- 5 files changed, 29 insertions(+), 19 deletions(-) diff --git a/include/colors.h b/include/colors.h index 07a953e36..ea7e49231 100755 --- a/include/colors.h +++ b/include/colors.h @@ -38,6 +38,7 @@ extern int TOOL_SIZE; extern bool TOOL_TEXT; extern bool EASY_RIDER; extern bool ENTER_AS_TAB; +extern int INTERLINE; const COLOR COLOR_DKCYAN = XVT_MAKE_COLOR(0,128,128); const COLOR COLOR_DKYELLOW = XVT_MAKE_COLOR(128,128, 0); diff --git a/include/controls.cpp b/include/controls.cpp index c43170c3d..9e8fcb844 100755 --- a/include/controls.cpp +++ b/include/controls.cpp @@ -46,6 +46,7 @@ int TOOL_SIZE = 24; bool TOOL_TEXT = true; bool EASY_RIDER = true; bool ENTER_AS_TAB = false; +int INTERLINE = 0; HIDDEN bool _ddl_shown = false; HIDDEN int _last_mouse_button = 0; @@ -202,7 +203,7 @@ XVT_FNTID xvtil_default_font(bool bold, bool big) TConfig font(CONFIG_GUI, "Colors"); TString font_ser_desc = font.get("FontDesc"); // Modernamente e' nel paragrafo Colors - int interline = font.get_int("InterLine", NULL, -1, -1); + INTERLINE = font.get_int("InterLine", NULL, -1, -1); if (font_ser_desc.empty()) { @@ -231,13 +232,13 @@ XVT_FNTID xvtil_default_font(bool bold, bool big) else { //calcolo interlinea se non specificata dall'utente - if (interline < 0) //interlinea automatica + if (INTERLINE < 0) //interlinea automatica { const PNT pnt = xvtil_taskwin_size(); ROWY = max(CHARY, pnt.v/MAX_MASK_ROWS); } else - ROWY = CHARY + interline; + ROWY = CHARY + INTERLINE; } XI_PNT fu = { ROWY, CHARX }; xi_pu_to_fu(NULL, &fu, 1); @@ -1856,18 +1857,6 @@ TRadiobutton_control::TRadiobutton_control(WINDOW win, short cid, XI_OBJ* itf = get_interface(win); XI_RCT rct = coord2rct(itf, left, top, width, height); - if (height > 1) - { - // Aggiusta rettangolo in modo da centrare i bottoni - const int extra = rct.bottom - rct.top - tot * XI_FU_MULTIPLE; - if (extra > 0) - rct.top += extra / 2; - else - if (extra < 0) - rct.bottom -= extra; - rct.left -= XI_FU_MULTIPLE / 4; - rct.right += XI_FU_MULTIPLE / 4; - } XI_OBJ_DEF* def = xi_add_container_def(NULL, cid, &rct, orient, cid); def->app_data = (long)this; @@ -1892,6 +1881,24 @@ TRadiobutton_control::TRadiobutton_control(WINDOW win, short cid, _obj = xi_create(itf, def); CHECKD(_obj, "Can't create radio-button container ", cid); + if (height > 1 && tot > 1) + { + xi_get_rect(_obj, &rct); + + int children; + XI_OBJ** child = xi_get_member_list(_obj, &children); + + XI_RCT brct; xi_get_rect(child[0], &brct); + const int bheight = brct.bottom-brct.top; + const int delta = rct.bottom-rct.top - children*bheight; + for (int c = 0; c < children; c++) + { + XI_RCT& brct = child[c]->v.btn->rct; + brct.top = rct.top + delta*c/(tot-1) + bheight*c; + brct.bottom = brct.top + bheight; + } + } + update_tab_cid(); xi_dequeue(); diff --git a/include/dongle.cpp b/include/dongle.cpp index 4ca30e34e..c953c02b9 100755 --- a/include/dongle.cpp +++ b/include/dongle.cpp @@ -854,6 +854,7 @@ bool TDongle::burn() return ok; } +/* #define BIT31 (1L<<31) #define MSK31 (~BIT31) @@ -927,6 +928,7 @@ bool TDongle::pay_assist(int index, real imp, bool lire) } return ok; } +*/ const TString_array& TDongle::info() const { diff --git a/include/dongle.h b/include/dongle.h index 1a16916e7..8b655eb65 100755 --- a/include/dongle.h +++ b/include/dongle.h @@ -81,12 +81,12 @@ public: TDongleHardware hardware() const { return _hardware; } bool local() const { return _hardware == _dongle_hardlock || _hardware == _dongle_eutron; } bool network() const { return _hardware == _dongle_network; } - + /* real residual_assist(int index, bool lire) const; bool can_require_assist(int index) const; bool require_assist(int index, real imp, bool lire); bool pay_assist(int index, real imp, bool lire); - + */ const TString& administrator(TString* pwd = NULL) const; int oem() const; const TString& reseller() const; diff --git a/include/scanner.h b/include/scanner.h index 55c15b17a..0b1efcbcc 100755 --- a/include/scanner.h +++ b/include/scanner.h @@ -28,7 +28,7 @@ class TScanner : public ifstream // @cmember:(INTERNAL) Indica se il token e' stato ritornato al file bool _pushed; // @cmember:(INTERNAL) Numero della linea in corso di lettura - word _line; + size_t _line; // @access Public Member public: @@ -72,7 +72,7 @@ public: const TString& token() const { return _token; } // @cmember Ritorna il numero di linea corrente - word linenum() + size_t linenum() { return _line; } };