summaryrefslogtreecommitdiff
path: root/libtk/xdata.c
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2006-12-22 17:07:39 +0000
committerCharles.Forsyth <devnull@localhost>2006-12-22 17:07:39 +0000
commit37da2899f40661e3e9631e497da8dc59b971cbd0 (patch)
treecbc6d4680e347d906f5fa7fca73214418741df72 /libtk/xdata.c
parent54bc8ff236ac10b3eaa928fd6bcfc0cdb2ba46ae (diff)
20060303a
Diffstat (limited to 'libtk/xdata.c')
-rw-r--r--libtk/xdata.c217
1 files changed, 217 insertions, 0 deletions
diff --git a/libtk/xdata.c b/libtk/xdata.c
new file mode 100644
index 00000000..1c968f9b
--- /dev/null
+++ b/libtk/xdata.c
@@ -0,0 +1,217 @@
+#include "lib9.h"
+#include "draw.h"
+#include "tk.h"
+
+#define O(t, e) ((long)(&((t*)0)->e))
+
+TkStab tkorient[] =
+{
+ "vertical", Tkvertical,
+ "horizontal", Tkhorizontal,
+ nil
+};
+
+#define RGB(r,g,b) ((r<<24)|(g<<16)|(b<<8)|0xff)
+
+TkStab tkcolortab[] =
+{
+ "black", RGB(0,0,0),
+ "blue", RGB(0,0,204),
+ "darkblue", RGB(93,0,187),
+ "red", RGB(255,0,0),
+ "yellow", RGB(255,255,0),
+ "green", RGB(0,128,0),
+ "white", RGB(255,255,255),
+ "orange", RGB(255,170,0),
+ "aqua", RGB(0,255,255),
+ "fuchsia", RGB(255,0,255),
+ "gray", RGB(128,128,128),
+ "grey", RGB(128,128,128),
+ "lime", RGB(0,255,0),
+ "maroon", RGB(128,0,0),
+ "navy", RGB(0,0,128),
+ "olive", RGB(128,128,0),
+ "purple", RGB(128,0,128),
+ "silver", RGB(192,192,192),
+ "teal", RGB(0,128,128),
+ "transparent", DTransparent,
+ nil
+};
+
+TkStab tkrelief[] =
+{
+ "raised", TKraised,
+ "sunken", TKsunken,
+ "flat", TKflat,
+ "groove", TKgroove,
+ "ridge", TKridge,
+ nil
+};
+
+TkStab tkbool[] =
+{
+ "0", BoolF,
+ "no", BoolF,
+ "off", BoolF,
+ "false", BoolF,
+ "1", BoolT,
+ "yes", BoolT,
+ "on", BoolT,
+ "true", BoolT,
+ nil
+};
+
+TkStab tkanchor[] =
+{
+ "center", Tkcenter,
+ "c", Tkcenter,
+ "n", Tknorth,
+ "ne", Tknorth|Tkeast,
+ "e", Tkeast,
+ "se", Tksouth|Tkeast,
+ "s", Tksouth,
+ "sw", Tksouth|Tkwest,
+ "w", Tkwest,
+ "nw", Tknorth|Tkwest,
+ nil
+};
+
+static
+TkStab tkstate[] =
+{
+ "normal", 0,
+ "active", Tkactive,
+ "disabled", Tkdisabled,
+ nil
+};
+
+static
+TkStab tktakefocus[] =
+{
+ "0", 0,
+ "1", Tktakefocus,
+ nil
+};
+
+TkStab tktabjust[] =
+{
+ "left", Tkleft,
+ "right", Tkright,
+ "center", Tkcenter,
+ "numeric", Tknumeric,
+ nil
+};
+
+TkStab tkwrap[] =
+{
+ "none", Tkwrapnone,
+ "word", Tkwrapword,
+ "char", Tkwrapchar,
+ nil
+};
+
+TkStab tkjustify[] =
+{
+ "left", Tkleft,
+ "right", Tkright,
+ "center", Tkcenter,
+ nil
+};
+
+TkOption tkgeneric[] =
+{
+ "actx", OPTact, 0, IAUX(0),
+ "acty", OPTact, 0, IAUX(1),
+ "actwidth", OPTdist, O(Tk, act.width), IAUX(O(Tk, env)),
+ "actheight", OPTdist, O(Tk, act.height), IAUX(O(Tk, env)),
+ "bd", OPTnndist, O(Tk, borderwidth), nil,
+ "borderwidth", OPTnndist, O(Tk, borderwidth), nil,
+ "highlightthickness", OPTnndist, O(Tk, highlightwidth), nil,
+ "height", OPTsize, 0, IAUX(O(Tk, env)),
+ "width", OPTsize, 0, IAUX(O(Tk, env)),
+ "relief", OPTstab, O(Tk, relief), tkrelief,
+ "state", OPTflag, O(Tk, flag), tkstate,
+ "font", OPTfont, O(Tk, env), nil,
+ "foreground", OPTcolr, O(Tk, env), IAUX(TkCforegnd),
+ "background", OPTcolr, O(Tk, env), IAUX(TkCbackgnd),
+ "fg", OPTcolr, O(Tk, env), IAUX(TkCforegnd),
+ "bg", OPTcolr, O(Tk, env), IAUX(TkCbackgnd),
+ "selectcolor", OPTcolr, O(Tk, env), IAUX(TkCselect),
+ "selectforeground", OPTcolr, O(Tk, env), IAUX(TkCselectfgnd),
+ "selectbackground", OPTcolr, O(Tk, env), IAUX(TkCselectbgnd),
+ "activeforeground", OPTcolr, O(Tk, env), IAUX(TkCactivefgnd),
+ "activebackground", OPTcolr, O(Tk, env), IAUX(TkCactivebgnd),
+ "highlightcolor", OPTcolr, O(Tk, env), IAUX(TkChighlightfgnd),
+ "disabledcolor", OPTcolr, O(Tk, env), IAUX(TkCdisablefgnd),
+ "padx", OPTnndist, O(Tk, pad.x), nil,
+ "pady", OPTnndist, O(Tk, pad.y), nil,
+ "takefocus", OPTflag, O(Tk, flag), tktakefocus,
+ nil
+};
+
+TkOption tktop[] =
+{
+ "x", OPTdist, O(TkWin, req.x), nil,
+ "y", OPTdist, O(TkWin, req.y), nil,
+ nil
+};
+
+TkOption tktopdbg[] =
+{
+ "debug", OPTbool, O(TkTop, debug), nil,
+ nil
+};
+
+TkMethod *tkmethod[] =
+{
+ &framemethod, /* TKframe */
+ &labelmethod, /* TKlabel */
+ &checkbuttonmethod, /* TKcheckbutton */
+ &buttonmethod, /* TKbutton */
+ &menubuttonmethod, /* TKmenubutton */
+ &menumethod, /* TKmenu */
+ &separatormethod, /* TKseparator */
+ &cascademethod, /* TKcascade */
+ &listboxmethod, /* TKlistbox */
+ &scrollbarmethod, /* TKscrollbar */
+ &textmethod, /* TKtext */
+ &canvasmethod, /* TKcanvas */
+ &entrymethod, /* TKentry */
+ &radiobuttonmethod, /* TKradiobutton */
+ &scalemethod, /* TKscale */
+ &panelmethod, /* TKpanel */
+ &choicebuttonmethod, /*TKchoicebutton */
+};
+
+char TkNomem[] = "!out of memory";
+char TkBadop[] = "!bad option";
+char TkOparg[] = "!arg requires option";
+char TkBadvl[] = "!bad value";
+char TkBadwp[] = "!bad window path";
+char TkWpack[] = "!window is already packed";
+char TkNotop[] = "!no toplevel";
+char TkDupli[] = "!window path already exists";
+char TkNotpk[] = "!window not packed";
+char TkBadcm[] = "!bad command";
+char TkIstop[] = "!can't pack top level";
+char TkBadbm[] = "!failed to load bitmap";
+char TkBadft[] = "!failed to open font";
+char TkBadit[] = "!bad item type";
+char TkBadtg[] = "!bad/no matching tag";
+char TkFewpt[] = "!wrong number of points";
+char TkBadsq[] = "!bad event sequence";
+char TkBadix[] = "!bad index";
+char TkNotwm[] = "!not a window";
+char TkBadvr[] = "!variable does not exist";
+char TkNotvt[] = "!variable is wrong type";
+char TkMovfw[] = "!too many events buffered";
+char TkBadsl[] = "!selection already exists";
+char TkSyntx[] = "!bad [] or {} syntax";
+char TkRecur[] = "!cannot pack recursively";
+char TkDepth[] = "!execution stack too big";
+char TkNomaster[] = "!no master given";
+char TkNotgrid[] = "!not a grid";
+char TkIsgrid[] = "!cannot use pack inside a grid";
+char TkBadgridcell[] = "!grid cell in use";
+char TkBadspan[] = "!bad grid span";
+char TkBadcursor[] = "!bad cursor image";