📄 tabprop.c
字号:
SetCtrlVal (info->tabAttrsPanel, TAB_ATTRS_DIMMED, dimmed); free(text); }}/***************************************************************/static void TabEdit_UpdateValues(TabEditDlg *info){ int activePanel; int buttonPos; int buttonGap; char metaFont[256]; int color; int stretch; int visible; EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_ACTIVE_PANEL, &activePanel); if (activePanel > 0) SetCtrlVal (info->tabsPanel, TABS_ACTIVE, activePanel); EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_ORIENTATION, &buttonPos); SetCtrlVal (info->tabsPanel, TABS_BUTTONPOS, buttonPos); EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_STRETCH_TO_FIT, &stretch); SetCtrlVal (info->tabsPanel, TABS_STRETCH, stretch); EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_BTN_GAP_SIZE, &buttonGap); SetCtrlVal (info->tabsPanel, TABS_GAP, buttonGap); EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_META_FONT, metaFont); SetCtrlVal (info->fontPanel, FONT_METAFONT, metaFont); EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_LABEL_COLOR, &color); SetCtrlVal (info->fontPanel, FONT_COLOR, color); EasyTab_GetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_VISIBLE, &visible); SetCtrlVal (info->tabsPanel, TABS_VISIBLE, visible); TabEdit_UpdateTabAttrValues(info); TabEdit_UpdateBoundsDisplay(info);}/***************************************************************/static void TabEdit_UpdateUserSpecifiedBounds(TabEditDlg *info){ Rect r; int whichBounds; GetCtrlVal(info->boundsPanel, BOUNDS_WHICHBOUNDS, &whichBounds); EasyTab_GetBounds (info->panel, info->tabCtrl, whichBounds, &r); SetCtrlVal(info->boundsPanel, BOUNDS_TOP, r.top); SetCtrlVal(info->boundsPanel, BOUNDS_LEFT, r.left); SetCtrlVal(info->boundsPanel, BOUNDS_HEIGHT, r.height); SetCtrlVal(info->boundsPanel, BOUNDS_WIDTH, r.width); }/***************************************************************/static void TabEdit_UpdateBoundsDisplay(TabEditDlg *info){ Rect r; EasyTab_GetBounds (info->panel, info->tabCtrl, VAL_EASY_TAB_INTERIOR_BOUNDS, &r); SetCtrlVal(info->boundsPanel, BOUNDS_INT_TOP, r.top); SetCtrlVal(info->boundsPanel, BOUNDS_INT_LEFT, r.left); SetCtrlVal(info->boundsPanel, BOUNDS_INT_HEIGHT, r.height); SetCtrlVal(info->boundsPanel, BOUNDS_INT_WIDTH, r.width); EasyTab_GetBounds (info->panel, info->tabCtrl, VAL_EASY_TAB_EXTERIOR_BOUNDS, &r); SetCtrlVal(info->boundsPanel, BOUNDS_EXT_TOP, r.top); SetCtrlVal(info->boundsPanel, BOUNDS_EXT_LEFT, r.left); SetCtrlVal(info->boundsPanel, BOUNDS_EXT_HEIGHT, r.height); SetCtrlVal(info->boundsPanel, BOUNDS_EXT_WIDTH, r.width); }/***************************************************************/static void TabEdit_ApplyTabAttrValues(TabEditDlg *info){ int numPanels; int whichPanel; int textLength; char *text = 0; int visible; int dimmed; int bgColor; GetNumListItems (info->tabAttrsPanel, TAB_ATTRS_WHICHTAB, &numPanels); if (numPanels > 0) { GetCtrlVal(info->tabAttrsPanel, TAB_ATTRS_WHICHTAB, &whichPanel); GetCtrlAttribute (info->tabAttrsPanel, TAB_ATTRS_LABELTEXT, ATTR_STRING_TEXT_LENGTH, &textLength); text = (char *)malloc(textLength+1); GetCtrlVal (info->tabAttrsPanel, TAB_ATTRS_LABELTEXT, text); GetCtrlVal (info->tabAttrsPanel, TAB_ATTRS_VISIBLE, &visible); GetCtrlVal (info->tabAttrsPanel, TAB_ATTRS_LABELBGCOLOR, &bgColor); GetCtrlVal (info->tabAttrsPanel, TAB_ATTRS_DIMMED, &dimmed); EasyTab_SetTabAttribute(info->panel, info->tabCtrl, whichPanel, ATTR_EASY_TAB_LABEL_TEXT, text); EasyTab_SetTabAttribute(info->panel, info->tabCtrl, whichPanel, ATTR_EASY_TAB_VISIBLE, visible); EasyTab_SetTabAttribute(info->panel, info->tabCtrl, whichPanel, ATTR_EASY_TAB_LABEL_BG_COLOR, bgColor); EasyTab_SetTabAttribute(info->panel, info->tabCtrl, whichPanel, ATTR_EASY_TAB_DIMMED, dimmed); free(text); }}/***************************************************************/static int TabEdit_Apply(TabEditDlg *info){ int error = 0; int buttonPos; int stretch; int gap; int color; char metaFont[256]; Rect r; int whichBounds; int activePanel; int numItems; int visible; GetNumListItems(info->tabsPanel, TABS_ACTIVE, &numItems); if (numItems > 0) { GetCtrlVal (info->tabsPanel, TABS_ACTIVE, &activePanel); EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_ACTIVE_PANEL, activePanel); } GetCtrlVal (info->tabsPanel, TABS_BUTTONPOS, &buttonPos); errChk( EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_ORIENTATION, buttonPos)); GetCtrlVal (info->tabsPanel, TABS_STRETCH, &stretch); errChk( EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_STRETCH_TO_FIT, stretch)); GetCtrlVal (info->tabsPanel, TABS_GAP, &gap); errChk( EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_BTN_GAP_SIZE, gap)); GetCtrlVal (info->fontPanel, FONT_COLOR, &color); errChk( EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_LABEL_COLOR, color)); GetCtrlVal (info->fontPanel, FONT_METAFONT, metaFont); errChk( EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_META_FONT, metaFont)); TabEdit_ApplyTabAttrValues(info); GetCtrlVal(info->boundsPanel, BOUNDS_TOP, &r.top); GetCtrlVal(info->boundsPanel, BOUNDS_LEFT, &r.left); GetCtrlVal(info->boundsPanel, BOUNDS_HEIGHT, &r.height); GetCtrlVal(info->boundsPanel, BOUNDS_WIDTH, &r.width); GetCtrlVal(info->boundsPanel, BOUNDS_WHICHBOUNDS, &whichBounds); EasyTab_SetBounds(info->panel, info->tabCtrl, whichBounds, r); GetCtrlVal (info->tabsPanel, TABS_VISIBLE, &visible); EasyTab_SetAttribute(info->panel, info->tabCtrl, ATTR_EASY_TAB_VISIBLE, visible); TabEdit_UpdateValues(info);Error: return error;}/***************************************************************/int CVICALLBACK SetFontCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){ TabEditDlg *info; char metaFont[256]; char newMetaFont[256]; int bold, underline, strikeout, italic, size; char typeface[256]; GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info); switch (event) { case EVENT_COMMIT: GetCtrlVal (panel, FONT_METAFONT, metaFont); GetMetaFontInfo(metaFont, typeface, &bold, &underline, &strikeout, &italic, &size); if (FontSelectPopup ("Select Tab Font", "Sample Text", 0, typeface, &bold, &underline, &strikeout, &italic, 0, 0, &size, 6, 48, TRUE, TRUE) > 0) { if (IsMetaFont(typeface)) SetCtrlVal (panel, FONT_METAFONT, typeface); else { sprintf(newMetaFont, "%s %d", TAB_EDIT_METAFONT_NAME, gMetaFontSuffix); gMetaFontSuffix++; CreateMetaFont (newMetaFont, typeface, size, bold, italic, underline, strikeout); SetCtrlVal (panel, FONT_METAFONT, newMetaFont); } } break; } return 0;}/***************************************************************/int CVICALLBACK AutoSizeCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){ TabEditDlg *info; GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info); switch (event) { case EVENT_COMMIT: EasyTab_AutoSize(info->panel, info->tabCtrl); TabEdit_UpdateBoundsDisplay(info); TabEdit_UpdateUserSpecifiedBounds(info); break; } return 0;}/***************************************************************/int CVICALLBACK TabEdit_OKCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){ TabEditDlg *info; GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info); switch (event) { case EVENT_COMMIT: TabEdit_Apply(info); ProcessSystemEvents(); /* avoid unneeded flashing */ TabEdit_Discard(info); break; } return 0;}/***************************************************************/int CVICALLBACK TabEdit_CancelCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){ TabEditDlg *info; GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info); switch (event) { case EVENT_COMMIT: TabEdit_Discard(info); break; } return 0;}/***************************************************************/int CVICALLBACK TabEdit_ApplyCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){ TabEditDlg *info; GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info); switch (event) { case EVENT_COMMIT: TabEdit_Apply(info); break; } return 0;}/***************************************************************/int CVICALLBACK WhichBoundsCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){ TabEditDlg *info; GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info); switch (event) { case EVENT_COMMIT: TabEdit_UpdateUserSpecifiedBounds(info); break; } return 0;}/***************************************************************/int CVICALLBACK WhichTabCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){ TabEditDlg *info; GetChainedCallbackData (panel, control, TAB_EDIT_TYPE, (void *)&info); switch (event) { case EVENT_COMMIT: TabEdit_UpdateTabAttrValues(info); break; } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -