aboutsummaryrefslogtreecommitdiff
path: root/toxy
diff options
context:
space:
mode:
Diffstat (limited to 'toxy')
-rw-r--r--toxy/Makefile.objects3
-rw-r--r--toxy/build_counter4
-rw-r--r--toxy/notes.txt26
-rw-r--r--toxy/toxy-shared.include2
-rw-r--r--toxy/widget.c29
5 files changed, 47 insertions, 17 deletions
diff --git a/toxy/Makefile.objects b/toxy/Makefile.objects
index f063097..1ac718e 100644
--- a/toxy/Makefile.objects
+++ b/toxy/Makefile.objects
@@ -2,6 +2,7 @@ TOT_OBJECTS = \
unstable/forky.o \
common/loud.o \
common/grow.o \
+common/os.o \
hammer/file.o \
hammer/gui.o \
common/props.o \
@@ -12,6 +13,7 @@ unstable/fragile.o \
unstable/forky.o \
common/loud.o \
common/grow.o \
+common/os.o \
hammer/file.o \
common/props.o \
toxy/scriptlet.o \
@@ -36,6 +38,7 @@ unstable/forky.o \
common/loud.o \
common/grow.o \
common/dict.o \
+common/os.o \
hammer/file.o \
common/props.o \
toxy/scriptlet.o
diff --git a/toxy/build_counter b/toxy/build_counter
index 3be6b67..3c2910e 100644
--- a/toxy/build_counter
+++ b/toxy/build_counter
@@ -1,7 +1,7 @@
#define TOXY_VERSION "0.1"
#define TOXY_RELEASE "alpha"
-#define TOXY_BUILD 14
+#define TOXY_BUILD 15
#if 0
-TOXY_SNAPSHOT = 0.1-alpha14
+TOXY_SNAPSHOT = 0.1-alpha15
#endif
diff --git a/toxy/notes.txt b/toxy/notes.txt
new file mode 100644
index 0000000..aa5119a
--- /dev/null
+++ b/toxy/notes.txt
@@ -0,0 +1,26 @@
+TODO for toxy
+
+DONE for toxy
+
+alpha15
+ * fixes for megawidgets
+ . setting sub-item bindings in ::toxy::subwidget
+ (to be called explicitly from type initializer)
+ . handling widget's state through virtual events
+ . getting implicit geometry (needed for Frame widgets)
+ . automatically rebinding focus for Canvas widgets
+
+alpha14
+ * 'redefine' message to widget
+ * version control, using package provide (both in tcl and parsed from pd)
+ * "> master" section removed: master initializer defined directly
+ by proc ::toxy::master
+ * better kb: chords (shift-click), latch (control-click), dragging
+
+alpha13
+ * @new and @free handlers, defined in #@ new and #@ free sections,
+ invoked by widget object creation and destruction
+ * optional sections #@ ini (aka #@ vis) appended to initializer (which still
+ defines in default section too -- old .wid files do not need updating)
+ * .#args parameter of message handlers, replaced (during scriptlet
+ evaluation) by all arguments of an invoking message
diff --git a/toxy/toxy-shared.include b/toxy/toxy-shared.include
index ec6c42c..69322e7 100644
--- a/toxy/toxy-shared.include
+++ b/toxy/toxy-shared.include
@@ -5,6 +5,8 @@ shared/common/grow.c
shared/common/grow.h
shared/common/dict.c
shared/common/dict.h
+shared/common/os.c
+shared/common/os.h
shared/hammer/file.c
shared/hammer/file.h
shared/hammer/gui.c
diff --git a/toxy/widget.c b/toxy/widget.c
index 6700812..9481b89 100644
--- a/toxy/widget.c
+++ b/toxy/widget.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2003-2004 krzYszcz and others.
+/* Copyright (c) 2003-2005 krzYszcz and others.
* For information on usage and redistribution, and for a DISCLAIMER OF ALL
* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
@@ -21,7 +21,7 @@
static t_class *makeshift_class;
#ifdef KRZYSZCZ
-#define WIDGET_DEBUG
+//#define WIDGET_DEBUG
//#define TOW_DEBUG
//#define WIDGET_PROFILE
#endif
@@ -77,7 +77,7 @@ typedef struct _widget
int x_width;
int x_height;
t_symbol *x_background;
- int x_hasstate;
+ int x_hasstate; /* no longer used, LATER rethink */
int x_disabled;
int x_selected;
int x_update; /* see widget_update() */
@@ -293,8 +293,9 @@ static void widget_displace(t_gobj *z, t_glist *glist, int dx, int dy)
t_widget *x = (t_widget *)z;
t_text *t = (t_text *)z;
#if 0
- post("displace %d %d (%d %d -> %d %d)",
- dx, dy, t->te_xpix, t->te_ypix, t->te_xpix + dx, t->te_ypix + dy);
+ loudbug_post("displace %d %d (%d %d -> %d %d)",
+ dx, dy, t->te_xpix, t->te_ypix,
+ t->te_xpix + dx, t->te_ypix + dy);
#endif
t->te_xpix += dx;
t->te_ypix += dy;
@@ -311,8 +312,8 @@ static void widget_select(t_gobj *z, t_glist *glist, int flag)
char *mypathname = widget_getmypathname(x, glist)->s_name;
if (flag)
{
- sys_vgui("%s config -bg blue %s\n", mypathname,
- (x->x_hasstate ? "-state disabled" : ""));
+ sys_vgui("%s config -bg blue\n", mypathname);
+ sys_vgui("event generate %s <<disable>>\n", mypathname);
x->x_selected = 1;
}
else
@@ -321,9 +322,9 @@ static void widget_select(t_gobj *z, t_glist *glist, int flag)
sys_vgui("%s config -bg %s\n", mypathname,
(x->x_background ? x->x_background->s_name : "gray"));
else
- sys_vgui("%s config -bg %s %s\n", mypathname,
- (x->x_background ? x->x_background->s_name : "gray"),
- (x->x_hasstate ? "-state normal" : ""));
+ sys_vgui("%s config -bg %s \n", mypathname,
+ (x->x_background ? x->x_background->s_name : "gray"));
+ sys_vgui("event generate %s <<enable>>\n", mypathname);
x->x_selected = 0;
}
}
@@ -342,7 +343,7 @@ static void widget_pushoptions(t_widget *x, int doit)
#ifdef WIDGET_DEBUG
int sz;
char *dp = scriptlet_getcontents(x->x_transient, &sz);
- post("vis: \"%s\"", dp);
+ loudbug_post("vis: \"%s\"", dp);
#endif
if (doit)
{
@@ -898,8 +899,7 @@ static void widget__inout(t_widget *x, t_floatarg f)
if (!x->x_selected)
{
char *mypathname = widget_getmypathname(x, x->x_glist)->s_name;
- if (x->x_hasstate)
- sys_vgui("%s config -state normal\n", mypathname);
+ sys_vgui("event generate %s <<enable>>\n", mypathname);
}
x->x_disabled = 0;
}
@@ -909,8 +909,7 @@ static void widget__inout(t_widget *x, t_floatarg f)
if (!x->x_selected)
{
char *mypathname = widget_getmypathname(x, x->x_glist)->s_name;
- if (x->x_hasstate)
- sys_vgui("%s config -state disabled\n", mypathname);
+ sys_vgui("event generate %s <<disable>>\n", mypathname);
}
x->x_disabled = 1;
}