Patch level : 10.0
Files correlati : tutti Ricompilazione Demo : [ ] Commento : Aggiunto bottone di ricerca con icona diversa dal normale bottone dei listbox git-svn-id: svn://10.65.10.50/trunk@17319 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									bf9410aed9
								
							
						
					
					
						commit
						30776a4132
					
				| @ -58,7 +58,7 @@ void TInfo_mask::add_row(const char* prompt, unsigned long value, int err) | ||||
| } | ||||
| 
 | ||||
| TInfo_mask::TInfo_mask()  | ||||
|           : TArray_sheet(-1, -1, 78, 18, "Informazioni", "@16|@60") | ||||
|           : TArray_sheet(-1, -1, 78, 20, "Informazioni", "@16|@60") | ||||
| { | ||||
|   const word ser_no = dongle().number(); | ||||
| 
 | ||||
|  | ||||
| @ -384,7 +384,7 @@ void init_controls() | ||||
|   xi_set_pref(XI_PREF_3D_LOOK,      CAMPI_SCAVATI); | ||||
|   xi_set_pref(XI_PREF_CARET_WIDTH,  2); | ||||
|   xi_set_pref(XI_PREF_COMBO_ICON,   ICO_COMBO); | ||||
|   xi_set_pref(XI_PREF_OPTIMIZE_CELL_REQUESTS, true); | ||||
|   xi_set_pref(XI_PREF_OPTIMIZE_CELL_REQUESTS, TRUE); | ||||
| 
 | ||||
|   xi_init(); | ||||
| 
 | ||||
| @ -1275,7 +1275,7 @@ TText_control::TText_control(WINDOW win, short cid, | ||||
| 	if (big) | ||||
| 	{ | ||||
| 		rct.right += (rct.right - rct.left); | ||||
| 		rct.bottom += (rct.bottom - rct.top); | ||||
| 		rct.bottom += short(xvt_font_get_size(BIG_FONT) - xvt_font_get_size(DEF_FONT)); | ||||
| 	} | ||||
| 
 | ||||
|   const unsigned long attrib = flags2attr(flags); | ||||
| @ -1387,12 +1387,12 @@ TField_control::TField_control(WINDOW win, short cid, | ||||
|                                const char* flags, const char* text) | ||||
| { | ||||
|   const bool button = strchr(flags, 'B') != NULL; | ||||
|   create(win, cid, left, top, width, 1, maxlen, flags, text, button); | ||||
|   create(win, cid, left, top, width, 1, maxlen, flags, text, button ? 2 : 0); | ||||
| } | ||||
| 
 | ||||
| void TField_control::create(WINDOW win, short cid, | ||||
|                        short left, short top, short width, short height, short maxlen, | ||||
|                        const char* flags, const char* text, bool button) | ||||
|                        const char* flags, const char* text, int button) | ||||
| { | ||||
|   CHECK(!in_create, "Nested control creation"); | ||||
|   in_create = true; | ||||
| @ -1404,14 +1404,12 @@ void TField_control::create(WINDOW win, short cid, | ||||
| 
 | ||||
|   for (const char* s = flags; *s; s++) | ||||
| 	{ | ||||
|     if (toupper(*s) == '{') | ||||
| 			big = true; | ||||
| 		else | ||||
| 			if (toupper(*s) == '}') | ||||
|     if (*s == '{') | ||||
| 			big = true;	else | ||||
| 	  if (*s == '}') | ||||
| 			bold = true; | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	RCT rct; coord2rct(win, left, top, width, height, rct); | ||||
| 
 | ||||
|   rct.right += bold ? (width*XI_FU_MULTIPLE/4) : XI_FU_MULTIPLE/4; | ||||
| @ -1419,10 +1417,7 @@ void TField_control::create(WINDOW win, short cid, | ||||
| 	if (big) | ||||
| 	{ | ||||
| 		rct.right += (rct.right - rct.left); | ||||
| 		 | ||||
| 		const int dy = (rct.bottom - rct.top) / 2; | ||||
| 		 | ||||
| 		rct.bottom += dy; | ||||
| 		rct.bottom += short(xvt_font_get_size(BIG_FONT) - xvt_font_get_size(DEF_FONT)); | ||||
| 	} | ||||
| 
 | ||||
|   unsigned long attrib = flags2attr(flags) | XI_ATR_EDITMENU; | ||||
| @ -1450,20 +1445,17 @@ void TField_control::create(WINDOW win, short cid, | ||||
|   f->well = CAMPI_SCAVATI; | ||||
|   f->active_back_color = FOCUS_BACK_COLOR; | ||||
| 
 | ||||
|   if (big) | ||||
|   { | ||||
|     f->xi_rct.top = rct.top; | ||||
|     f->xi_rct.bottom = rct.bottom; | ||||
|     f->xi_rct.right = rct.right; | ||||
|     f->xi_rct.left = rct.left; | ||||
| 	} | ||||
| 	else | ||||
| 	if (height == 1) | ||||
| 	{ | ||||
| 		f->auto_tab = true; | ||||
| 			if (button) | ||||
| 		if (button != 0) | ||||
| 		{ | ||||
| 			f->button = true; | ||||
|       switch (button) | ||||
|       { | ||||
|       case  2: f->icon_rid = ICO_SEARCH; break;  // Bottone per ricerche
 | ||||
|       default: break; // Bottone standard ICO_COMBO
 | ||||
|       } | ||||
| 			f->pixel_button_distance = 1; | ||||
| 		} | ||||
| 	} | ||||
| @ -1485,7 +1477,7 @@ void TField_control::create(WINDOW win, short cid, | ||||
|   STX_DATA* stx = (STX_DATA*)_obj->v.field->stx; | ||||
|   CHECKD(stx, "NULL stx for field ", cid); | ||||
|   | ||||
|   if (button)  | ||||
|   if (_obj->v.field->button)  | ||||
|   { | ||||
|     // Aggiusta il rettangolo del bottone in modo da allinearlo al testo
 | ||||
|     XinRect& br = (XinRect&)_obj->v.field->btn_rct; | ||||
|  | ||||
| @ -159,7 +159,7 @@ protected: | ||||
|   void create(WINDOW win, short cid,  | ||||
|               short left, short top,  | ||||
|               short width, short height, short maxlen,  | ||||
|               const char* flags, const char* text, bool button); | ||||
|               const char* flags, const char* text, int button); | ||||
| 
 | ||||
|   TField_control() {} | ||||
|    | ||||
|  | ||||
| @ -2,6 +2,7 @@ | ||||
| #include <xinclude.h> | ||||
| 
 | ||||
| #include <colors.h> | ||||
| #include <controls.h> | ||||
| #include <image.h> | ||||
| #include <mask.h> | ||||
| #include <tree.h> | ||||
| @ -1116,26 +1117,21 @@ void TTree_window::handler(WINDOW win, EVENT* ep) | ||||
| 
 | ||||
| bool TTree_window::select_current() | ||||
| { | ||||
|   XVT_TREEVIEW_NODE selected = NULL; // Nodo da selezionare (se mai lo trovero')
 | ||||
|   XVT_TREEVIEW_NODE nextsel = NULL; // Nodo da selezionare (se mai lo trovero')
 | ||||
| 
 | ||||
|   if (_tree != NULL) | ||||
|   { | ||||
|     xvt_treeview_suspend(_ctrl);     // Sospendo le notifiche degli eventi
 | ||||
| 
 | ||||
|     TString id; _tree->curr_id(id);  // id del nodo corrente dell'albero  
 | ||||
| 
 | ||||
|     // Controllo se il tree control e' gia' posizionato bene
 | ||||
|     XVT_TREEVIEW_NODE cursel = xvt_treeview_get_selected_node(_ctrl); | ||||
|     if (cursel != NULL) | ||||
|     { | ||||
|       const char* curdata = xvt_treeview_get_node_data(_ctrl, cursel); | ||||
|       if (id == curdata) | ||||
|       { | ||||
|         xvt_treeview_resume(_ctrl); | ||||
|     nextsel = xvt_treeview_find_node_string(_ctrl, id); | ||||
|     if (nextsel != NULL && cursel == nextsel) | ||||
|       return true; | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     if (nextsel == NULL) | ||||
|     { | ||||
|       xvt_treeview_suspend(_ctrl);     // Sospendo le notifiche degli eventi
 | ||||
|       TString_array a; | ||||
|       a.add(id); | ||||
|       // Creo la lista dei progenitori
 | ||||
| @ -1169,7 +1165,7 @@ bool TTree_window::select_current() | ||||
|           const char* data = xvt_treeview_get_node_data(_ctrl, child); | ||||
|           if (*row == data) | ||||
|           { | ||||
|           selected = child; | ||||
|             nextsel = child; | ||||
|             if (*row == id) // Ho finito
 | ||||
|               killed = true; | ||||
|             else | ||||
| @ -1181,15 +1177,17 @@ bool TTree_window::select_current() | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     if (selected != NULL) | ||||
|       xvt_treeview_select_node(_ctrl, selected, TRUE); | ||||
|       xvt_treeview_resume(_ctrl); // Riattivo le notifiche degli eventi
 | ||||
|      | ||||
|     _tree->goto_node(id); | ||||
|     if (selected != NULL && _tree->expanded()) | ||||
|       xvt_treeview_expand_node(_ctrl, selected, FALSE); | ||||
|       _tree->goto_node(id);       // Riposiziono l'albero
 | ||||
|     } | ||||
|   return selected != NULL; | ||||
|     if (nextsel != NULL) | ||||
|     { | ||||
|       xvt_treeview_select_node(_ctrl, nextsel, TRUE); | ||||
|       if (_tree->expanded()) | ||||
|         xvt_treeview_expand_node(_ctrl, nextsel, FALSE); | ||||
|     } | ||||
|   } | ||||
|   return nextsel != NULL; | ||||
| } | ||||
| 
 | ||||
| bool TTree_window::goto_selected() | ||||
| @ -1328,6 +1326,7 @@ TOutlook_window::TOutlook_window(int x, int y, int dx, int dy, WINDOW parent, TO | ||||
|   WIN_DEF wd; memset(&wd, 0, sizeof(wd)); | ||||
|   wd.wtype = WC_OUTLOOKBAR; | ||||
|   wd.v.ctl.ctrl_id = owner->dlg(); | ||||
|   wd.v.ctl.font_id = xvt_default_font(true); // Fat font
 | ||||
|   wd.rct = resize_rect(x, y, dx, dy, wd.wtype, parent); | ||||
|   _ctrl = xvt_ctl_create_def(&wd, win(), 0); | ||||
| }         | ||||
|  | ||||
| @ -103,6 +103,7 @@ | ||||
| #define BMP_PDF       174 | ||||
| #define BMP_ARCHIVE   175 | ||||
| #define BMP_PROGRAM   176 | ||||
| #define BMP_FONT      179 | ||||
| #define BMP_CLOSETURN  206 | ||||
| #define BMP_CLOSESCONTR  207 | ||||
| #define BMP_SUSPSCONTR   208 | ||||
| @ -136,6 +137,7 @@ | ||||
| #define TOOL_HELP       163 | ||||
| #define TOOL_SETPRINT   165 | ||||
| #define TOOL_LENTE      166 | ||||
| #define TOOL_FONT       179 | ||||
| #define TOOL_PREF       204 | ||||
| #define TOOL_ADDPREF    205 | ||||
| #define TOOL_CLOSETURN  206 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user