summaryrefslogtreecommitdiffstats
path: root/tk8.6/generic/ttk/ttkInit.c
diff options
context:
space:
mode:
Diffstat (limited to 'tk8.6/generic/ttk/ttkInit.c')
-rw-r--r--tk8.6/generic/ttk/ttkInit.c283
1 files changed, 0 insertions, 283 deletions
diff --git a/tk8.6/generic/ttk/ttkInit.c b/tk8.6/generic/ttk/ttkInit.c
deleted file mode 100644
index dc6e994..0000000
--- a/tk8.6/generic/ttk/ttkInit.c
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * Copyright (c) 2003, Joe English
- *
- * Ttk package: initialization routine and miscellaneous utilities.
- */
-
-#include <string.h>
-#include <tk.h>
-#include "ttkTheme.h"
-#include "ttkWidget.h"
-
-/*
- * Legal values for the button -default option.
- * See also: enum Ttk_ButtonDefaultState.
- */
-const char *ttkDefaultStrings[] = {
- "normal", "active", "disabled", NULL
-};
-
-int Ttk_GetButtonDefaultStateFromObj(
- Tcl_Interp *interp, Tcl_Obj *objPtr, int *statePtr)
-{
- *statePtr = TTK_BUTTON_DEFAULT_DISABLED;
- return Tcl_GetIndexFromObjStruct(interp, objPtr, ttkDefaultStrings,
- sizeof(char *), "default state", 0, statePtr);
-}
-
-/*
- * Legal values for the -compound option.
- * See also: enum Ttk_Compound.
- */
-const char *ttkCompoundStrings[] = {
- "none", "text", "image", "center",
- "top", "bottom", "left", "right", NULL
-};
-
-int Ttk_GetCompoundFromObj(
- Tcl_Interp *interp, Tcl_Obj *objPtr, int *statePtr)
-{
- *statePtr = TTK_COMPOUND_NONE;
- return Tcl_GetIndexFromObjStruct(interp, objPtr, ttkCompoundStrings,
- sizeof(char *), "compound layout", 0, statePtr);
-}
-
-/*
- * Legal values for the -orient option.
- * See also: enum Ttk_Orient.
- */
-const char *ttkOrientStrings[] = {
- "horizontal", "vertical", NULL
-};
-
-int Ttk_GetOrientFromObj(
- Tcl_Interp *interp, Tcl_Obj *objPtr, int *resultPtr)
-{
- *resultPtr = TTK_ORIENT_HORIZONTAL;
- return Tcl_GetIndexFromObjStruct(interp, objPtr, ttkOrientStrings,
- sizeof(char *), "orientation", 0, resultPtr);
-}
-
-/*
- * Recognized values for the -state compatibility option.
- * Other options are accepted and interpreted as synonyms for "normal".
- */
-static const char *ttkStateStrings[] = {
- "normal", "readonly", "disabled", "active", NULL
-};
-enum {
- TTK_COMPAT_STATE_NORMAL,
- TTK_COMPAT_STATE_READONLY,
- TTK_COMPAT_STATE_DISABLED,
- TTK_COMPAT_STATE_ACTIVE
-};
-
-/* TtkCheckStateOption --
- * Handle -state compatibility option.
- *
- * NOTE: setting -state disabled / -state enabled affects the
- * widget state, but the internal widget state does *not* affect
- * the value of the -state option.
- * This option is present for compatibility only.
- */
-void TtkCheckStateOption(WidgetCore *corePtr, Tcl_Obj *objPtr)
-{
- int stateOption = TTK_COMPAT_STATE_NORMAL;
- unsigned all = TTK_STATE_DISABLED|TTK_STATE_READONLY|TTK_STATE_ACTIVE;
-# define SETFLAGS(f) TtkWidgetChangeState(corePtr, f, all^f)
-
- (void)Tcl_GetIndexFromObjStruct(NULL, objPtr, ttkStateStrings,
- sizeof(char *), "", 0, &stateOption);
- switch (stateOption) {
- case TTK_COMPAT_STATE_NORMAL:
- default:
- SETFLAGS(0);
- break;
- case TTK_COMPAT_STATE_READONLY:
- SETFLAGS(TTK_STATE_READONLY);
- break;
- case TTK_COMPAT_STATE_DISABLED:
- SETFLAGS(TTK_STATE_DISABLED);
- break;
- case TTK_COMPAT_STATE_ACTIVE:
- SETFLAGS(TTK_STATE_ACTIVE);
- break;
- }
-# undef SETFLAGS
-}
-
-/* TtkSendVirtualEvent --
- * Send a virtual event notification to the specified target window.
- * Equivalent to "event generate $tgtWindow <<$eventName>>"
- *
- * Note that we use Tk_QueueWindowEvent, not Tk_HandleEvent,
- * so this routine does not reenter the interpreter.
- */
-void TtkSendVirtualEvent(Tk_Window tgtWin, const char *eventName)
-{
- union {XEvent general; XVirtualEvent virtual;} event;
-
- memset(&event, 0, sizeof(event));
- event.general.xany.type = VirtualEvent;
- event.general.xany.serial = NextRequest(Tk_Display(tgtWin));
- event.general.xany.send_event = False;
- event.general.xany.window = Tk_WindowId(tgtWin);
- event.general.xany.display = Tk_Display(tgtWin);
- event.virtual.name = Tk_GetUid(eventName);
-
- Tk_QueueWindowEvent(&event.general, TCL_QUEUE_TAIL);
-}
-
-/* TtkEnumerateOptions, TtkGetOptionValue --
- * Common factors for data accessor commands.
- */
-int TtkEnumerateOptions(
- Tcl_Interp *interp, void *recordPtr, const Tk_OptionSpec *specPtr,
- Tk_OptionTable optionTable, Tk_Window tkwin)
-{
- Tcl_Obj *result = Tcl_NewListObj(0,0);
- while (specPtr->type != TK_OPTION_END)
- {
- Tcl_Obj *optionName = Tcl_NewStringObj(specPtr->optionName, -1);
- Tcl_Obj *optionValue =
- Tk_GetOptionValue(interp,recordPtr,optionTable,optionName,tkwin);
- if (optionValue) {
- Tcl_ListObjAppendElement(interp, result, optionName);
- Tcl_ListObjAppendElement(interp, result, optionValue);
- }
- ++specPtr;
-
- if (specPtr->type == TK_OPTION_END && specPtr->clientData != NULL) {
- /* Chain to next option spec array: */
- specPtr = specPtr->clientData;
- }
- }
- Tcl_SetObjResult(interp, result);
- return TCL_OK;
-}
-
-int TtkGetOptionValue(
- Tcl_Interp *interp, void *recordPtr, Tcl_Obj *optionName,
- Tk_OptionTable optionTable, Tk_Window tkwin)
-{
- Tcl_Obj *result =
- Tk_GetOptionValue(interp,recordPtr,optionTable,optionName,tkwin);
- if (result) {
- Tcl_SetObjResult(interp, result);
- return TCL_OK;
- }
- return TCL_ERROR;
-}
-
-
-/*------------------------------------------------------------------------
- * Core Option specifications:
- * type name dbName dbClass default objOffset intOffset flags clientData mask
- */
-
-/* public */
-Tk_OptionSpec ttkCoreOptionSpecs[] =
-{
- {TK_OPTION_CURSOR, "-cursor", "cursor", "Cursor", NULL,
- Tk_Offset(WidgetCore, cursorObj), -1, TK_OPTION_NULL_OK,0,0 },
- {TK_OPTION_STRING, "-style", "style", "Style", "",
- Tk_Offset(WidgetCore,styleObj), -1, 0,0,STYLE_CHANGED},
- {TK_OPTION_STRING, "-class", "", "", NULL,
- Tk_Offset(WidgetCore,classObj), -1, 0,0,READONLY_OPTION},
- {TK_OPTION_END, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0}
-};
-
-/*------------------------------------------------------------------------
- * +++ Initialization: elements and element factories.
- */
-
-extern void TtkElements_Init(Tcl_Interp *);
-extern void TtkLabel_Init(Tcl_Interp *);
-extern void TtkImage_Init(Tcl_Interp *);
-
-static void RegisterElements(Tcl_Interp *interp)
-{
- TtkElements_Init(interp);
- TtkLabel_Init(interp);
- TtkImage_Init(interp);
-}
-
-/*------------------------------------------------------------------------
- * +++ Initialization: Widget definitions.
- */
-
-extern void TtkButton_Init(Tcl_Interp *);
-extern void TtkEntry_Init(Tcl_Interp *);
-extern void TtkFrame_Init(Tcl_Interp *);
-extern void TtkNotebook_Init(Tcl_Interp *);
-extern void TtkPanedwindow_Init(Tcl_Interp *);
-extern void TtkProgressbar_Init(Tcl_Interp *);
-extern void TtkScale_Init(Tcl_Interp *);
-extern void TtkScrollbar_Init(Tcl_Interp *);
-extern void TtkSeparator_Init(Tcl_Interp *);
-extern void TtkTreeview_Init(Tcl_Interp *);
-
-#ifdef TTK_SQUARE_WIDGET
-extern int TtkSquareWidget_Init(Tcl_Interp *);
-#endif
-
-static void RegisterWidgets(Tcl_Interp *interp)
-{
- TtkButton_Init(interp);
- TtkEntry_Init(interp);
- TtkFrame_Init(interp);
- TtkNotebook_Init(interp);
- TtkPanedwindow_Init(interp);
- TtkProgressbar_Init(interp);
- TtkScale_Init(interp);
- TtkScrollbar_Init(interp);
- TtkSeparator_Init(interp);
- TtkTreeview_Init(interp);
-#ifdef TTK_SQUARE_WIDGET
- TtkSquareWidget_Init(interp);
-#endif
-}
-
-/*------------------------------------------------------------------------
- * +++ Initialization: Built-in themes.
- */
-
-extern int TtkAltTheme_Init(Tcl_Interp *);
-extern int TtkClassicTheme_Init(Tcl_Interp *);
-extern int TtkClamTheme_Init(Tcl_Interp *);
-
-static void RegisterThemes(Tcl_Interp *interp)
-{
-
- TtkAltTheme_Init(interp);
- TtkClassicTheme_Init(interp);
- TtkClamTheme_Init(interp);
-}
-
-/*
- * Ttk initialization.
- */
-
-extern const TtkStubs ttkStubs;
-
-MODULE_SCOPE int
-Ttk_Init(Tcl_Interp *interp)
-{
- /*
- * This will be run for both safe and regular interp init.
- * Use Tcl_IsSafe if necessary to not initialize unsafe bits.
- */
- Ttk_StylePkgInit(interp);
-
- RegisterElements(interp);
- RegisterWidgets(interp);
- RegisterThemes(interp);
-
- Ttk_PlatformInit(interp);
-
- Tcl_PkgProvideEx(interp, "Ttk", TTK_PATCH_LEVEL, (ClientData)&ttkStubs);
-
- return TCL_OK;
-}
-
-/*EOF*/