diff --git a/BorMakefile b/BorMakefile index 90d7e3ceb..83fde181d 100644 --- a/BorMakefile +++ b/BorMakefile @@ -19,8 +19,6 @@ clean: del /f /q src\color.obj del /f /q src\messagebox.obj del /f /q src\boldfont.obj - del /f /q src\external\ds.obj - del /f /q src\external\image.obj del /f /q src\icon\info.obj del /f /q src\icon\note.obj del /f /q src\icon\warning.obj @@ -42,6 +40,7 @@ clean: del /f /q src\widget\scrollbar.obj del /f /q src\widget\checkbox.obj del /f /q src\widget\label.obj + del /f /q src\widget\listbox.obj del /f /q src\widget\numberentry.obj del /f /q src\backend\gdi.obj del /f /q oosrc\base.obj @@ -55,18 +54,19 @@ clean: del /f /q oosrc\widget\window.obj del /f /q oosrc\widget\checkbox.obj del /f /q oosrc\widget\viewport.obj + del /f /q oosrc\widget\listbox.obj del /f /q oosrc\widget\label.obj del /f /q oosrc\widget\entry.obj del /f /q oosrc\widget\numberentry.obj del /f /q src\Mw.dll del /f /q oosrc\MwOO.dll -src\Mw.dll: src\core.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\messagebox.obj src\boldfont.obj src\external\ds.obj src\external\image.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\question.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\widget\button.obj src\widget\frame.obj src\widget\opengl.obj src\widget\window.obj src\widget\menu.obj src\widget\entry.obj src\widget\submenu.obj src\widget\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\numberentry.obj src\backend\gdi.obj - $(LD) $(LDFLAGS) -e$@ src\core.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\messagebox.obj src\boldfont.obj src\external\ds.obj src\external\image.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\question.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\widget\button.obj src\widget\frame.obj src\widget\opengl.obj src\widget\window.obj src\widget\menu.obj src\widget\entry.obj src\widget\submenu.obj src\widget\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\numberentry.obj src\backend\gdi.obj -lopengl32.lib -lgdi32.lib -luser32.lib +src\Mw.dll: src\core.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\messagebox.obj src\boldfont.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\question.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\widget\button.obj src\widget\frame.obj src\widget\opengl.obj src\widget\window.obj src\widget\menu.obj src\widget\entry.obj src\widget\submenu.obj src\widget\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\backend\gdi.obj + $(LD) $(LDFLAGS) -e$@ src\core.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\messagebox.obj src\boldfont.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\question.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\widget\button.obj src\widget\frame.obj src\widget\opengl.obj src\widget\window.obj src\widget\menu.obj src\widget\entry.obj src\widget\submenu.obj src\widget\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\backend\gdi.obj -lopengl32.lib -lgdi32.lib -luser32.lib implib src\Mw.lib src\Mw.dll -oosrc\MwOO.dll: oosrc\base.obj oosrc\widget\button.obj oosrc\widget\frame.obj oosrc\widget\image.obj oosrc\widget\menu.obj oosrc\widget\opengl.obj oosrc\widget\scrollbar.obj oosrc\widget\submenu.obj oosrc\widget\window.obj oosrc\widget\checkbox.obj oosrc\widget\viewport.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj - $(LD) $(LDFLAGS) -e$@ oosrc\base.obj oosrc\widget\button.obj oosrc\widget\frame.obj oosrc\widget\image.obj oosrc\widget\menu.obj oosrc\widget\opengl.obj oosrc\widget\scrollbar.obj oosrc\widget\submenu.obj oosrc\widget\window.obj oosrc\widget\checkbox.obj oosrc\widget\viewport.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj -lsrc\Mw.lib +oosrc\MwOO.dll: oosrc\base.obj oosrc\widget\button.obj oosrc\widget\frame.obj oosrc\widget\image.obj oosrc\widget\menu.obj oosrc\widget\opengl.obj oosrc\widget\scrollbar.obj oosrc\widget\submenu.obj oosrc\widget\window.obj oosrc\widget\checkbox.obj oosrc\widget\viewport.obj oosrc\widget\listbox.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj + $(LD) $(LDFLAGS) -e$@ oosrc\base.obj oosrc\widget\button.obj oosrc\widget\frame.obj oosrc\widget\image.obj oosrc\widget\menu.obj oosrc\widget\opengl.obj oosrc\widget\scrollbar.obj oosrc\widget\submenu.obj oosrc\widget\window.obj oosrc\widget\checkbox.obj oosrc\widget\viewport.obj oosrc\widget\listbox.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj -lsrc\Mw.lib implib oosrc\MwOO.lib oosrc\MwOO.dll .c.obj: diff --git a/GNUmakefile b/GNUmakefile index a98e4bcc7..3061ce028 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -32,7 +32,7 @@ L_LIBS = $(LIBS) L_OBJS = src/core.o src/default.o src/draw.o src/lowlevel.o src/font.o src/boldfont.o src/error.o src/unicode.o src/color.o src/messagebox.o L_OBJS += external/ds.o external/image.o -L_OBJS += src/widget/window.o src/widget/button.o src/widget/frame.o src/widget/menu.o src/widget/submenu.o src/widget/image.o src/widget/scrollbar.o src/widget/checkbox.o src/widget/label.o src/widget/entry.o src/widget/numberentry.o src/widget/viewport.o +L_OBJS += src/widget/window.o src/widget/button.o src/widget/frame.o src/widget/menu.o src/widget/submenu.o src/widget/image.o src/widget/scrollbar.o src/widget/checkbox.o src/widget/label.o src/widget/entry.o src/widget/numberentry.o src/widget/viewport.o src/widget/listbox.o L_OBJS += src/cursor/default.o src/cursor/cross.o src/cursor/text.o L_OBJS += src/icon/question.o src/icon/warning.o src/icon/note.o src/icon/info.o src/icon/news.o src/icon/error.o diff --git a/NTMakefile b/NTMakefile index 26ef2ae56..aac722af1 100644 --- a/NTMakefile +++ b/NTMakefile @@ -19,8 +19,6 @@ clean: del /f /q src\color.obj del /f /q src\messagebox.obj del /f /q src\boldfont.obj - del /f /q src\external\ds.obj - del /f /q src\external\image.obj del /f /q src\icon\info.obj del /f /q src\icon\note.obj del /f /q src\icon\warning.obj @@ -42,6 +40,7 @@ clean: del /f /q src\widget\scrollbar.obj del /f /q src\widget\checkbox.obj del /f /q src\widget\label.obj + del /f /q src\widget\listbox.obj del /f /q src\widget\numberentry.obj del /f /q src\backend\gdi.obj del /f /q oosrc\base.obj @@ -55,18 +54,19 @@ clean: del /f /q oosrc\widget\window.obj del /f /q oosrc\widget\checkbox.obj del /f /q oosrc\widget\viewport.obj + del /f /q oosrc\widget\listbox.obj del /f /q oosrc\widget\label.obj del /f /q oosrc\widget\entry.obj del /f /q oosrc\widget\numberentry.obj del /f /q src\Mw.dll del /f /q oosrc\MwOO.dll -src\Mw.dll: src\core.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\messagebox.obj src\boldfont.obj src\external\ds.obj src\external\image.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\question.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\widget\button.obj src\widget\frame.obj src\widget\opengl.obj src\widget\window.obj src\widget\menu.obj src\widget\entry.obj src\widget\submenu.obj src\widget\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\numberentry.obj src\backend\gdi.obj - $(LD) $(LDFLAGS) /OUT:$@ src\core.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\messagebox.obj src\boldfont.obj src\external\ds.obj src\external\image.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\question.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\widget\button.obj src\widget\frame.obj src\widget\opengl.obj src\widget\window.obj src\widget\menu.obj src\widget\entry.obj src\widget\submenu.obj src\widget\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\numberentry.obj src\backend\gdi.obj opengl32.lib gdi32.lib user32.lib +src\Mw.dll: src\core.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\messagebox.obj src\boldfont.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\question.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\widget\button.obj src\widget\frame.obj src\widget\opengl.obj src\widget\window.obj src\widget\menu.obj src\widget\entry.obj src\widget\submenu.obj src\widget\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\backend\gdi.obj + $(LD) $(LDFLAGS) /OUT:$@ src\core.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\messagebox.obj src\boldfont.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\question.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\widget\button.obj src\widget\frame.obj src\widget\opengl.obj src\widget\window.obj src\widget\menu.obj src\widget\entry.obj src\widget\submenu.obj src\widget\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\backend\gdi.obj opengl32.lib gdi32.lib user32.lib -oosrc\MwOO.dll: oosrc\base.obj oosrc\widget\button.obj oosrc\widget\frame.obj oosrc\widget\image.obj oosrc\widget\menu.obj oosrc\widget\opengl.obj oosrc\widget\scrollbar.obj oosrc\widget\submenu.obj oosrc\widget\window.obj oosrc\widget\checkbox.obj oosrc\widget\viewport.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj - $(LD) $(LDFLAGS) /OUT:$@ oosrc\base.obj oosrc\widget\button.obj oosrc\widget\frame.obj oosrc\widget\image.obj oosrc\widget\menu.obj oosrc\widget\opengl.obj oosrc\widget\scrollbar.obj oosrc\widget\submenu.obj oosrc\widget\window.obj oosrc\widget\checkbox.obj oosrc\widget\viewport.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj src\Mw.lib +oosrc\MwOO.dll: oosrc\base.obj oosrc\widget\button.obj oosrc\widget\frame.obj oosrc\widget\image.obj oosrc\widget\menu.obj oosrc\widget\opengl.obj oosrc\widget\scrollbar.obj oosrc\widget\submenu.obj oosrc\widget\window.obj oosrc\widget\checkbox.obj oosrc\widget\viewport.obj oosrc\widget\listbox.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj + $(LD) $(LDFLAGS) /OUT:$@ oosrc\base.obj oosrc\widget\button.obj oosrc\widget\frame.obj oosrc\widget\image.obj oosrc\widget\menu.obj oosrc\widget\opengl.obj oosrc\widget\scrollbar.obj oosrc\widget\submenu.obj oosrc\widget\window.obj oosrc\widget\checkbox.obj oosrc\widget\viewport.obj oosrc\widget\listbox.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj src\Mw.lib .c.obj: diff --git a/WatMakefile b/WatMakefile index eb43d397d..7644d7ace 100644 --- a/WatMakefile +++ b/WatMakefile @@ -18,8 +18,6 @@ clean: .SYMBOLIC %erase src/color.obj %erase src/messagebox.obj %erase src/boldfont.obj - %erase src/external/ds.obj - %erase src/external/image.obj %erase src/icon/info.obj %erase src/icon/note.obj %erase src/icon/warning.obj @@ -41,6 +39,7 @@ clean: .SYMBOLIC %erase src/widget/scrollbar.obj %erase src/widget/checkbox.obj %erase src/widget/label.obj + %erase src/widget/listbox.obj %erase src/widget/numberentry.obj %erase src/backend/gdi.obj %erase oosrc/base.obj @@ -54,18 +53,19 @@ clean: .SYMBOLIC %erase oosrc/widget/window.obj %erase oosrc/widget/checkbox.obj %erase oosrc/widget/viewport.obj + %erase oosrc/widget/listbox.obj %erase oosrc/widget/label.obj %erase oosrc/widget/entry.obj %erase oosrc/widget/numberentry.obj %erase src/Mw.dll %erase oosrc/MwOO.dll -src/Mw.dll: src/core.obj src/draw.obj src/default.obj src/lowlevel.obj src/error.obj src/unicode.obj src/font.obj src/color.obj src/messagebox.obj src/boldfont.obj src/external/ds.obj src/external/image.obj src/icon/info.obj src/icon/note.obj src/icon/warning.obj src/icon/error.obj src/icon/news.obj src/icon/question.obj src/cursor/default.obj src/cursor/cross.obj src/cursor/text.obj src/widget/button.obj src/widget/frame.obj src/widget/opengl.obj src/widget/window.obj src/widget/menu.obj src/widget/entry.obj src/widget/submenu.obj src/widget/viewport.obj src/widget/image.obj src/widget/scrollbar.obj src/widget/checkbox.obj src/widget/label.obj src/widget/numberentry.obj src/backend/gdi.obj - $(LD) $(LDFLAGS) option implib=src/Mw.lib name $@ file src/core.obj file src/draw.obj file src/default.obj file src/lowlevel.obj file src/error.obj file src/unicode.obj file src/font.obj file src/color.obj file src/messagebox.obj file src/boldfont.obj file src/external/ds.obj file src/external/image.obj file src/icon/info.obj file src/icon/note.obj file src/icon/warning.obj file src/icon/error.obj file src/icon/news.obj file src/icon/question.obj file src/cursor/default.obj file src/cursor/cross.obj file src/cursor/text.obj file src/widget/button.obj file src/widget/frame.obj file src/widget/opengl.obj file src/widget/window.obj file src/widget/menu.obj file src/widget/entry.obj file src/widget/submenu.obj file src/widget/viewport.obj file src/widget/image.obj file src/widget/scrollbar.obj file src/widget/checkbox.obj file src/widget/label.obj file src/widget/numberentry.obj file src/backend/gdi.obj library clib3r.lib library opengl32.lib library gdi32.lib library user32.lib +src/Mw.dll: src/core.obj src/draw.obj src/default.obj src/lowlevel.obj src/error.obj src/unicode.obj src/font.obj src/color.obj src/messagebox.obj src/boldfont.obj src/icon/info.obj src/icon/note.obj src/icon/warning.obj src/icon/error.obj src/icon/news.obj src/icon/question.obj src/cursor/default.obj src/cursor/cross.obj src/cursor/text.obj src/widget/button.obj src/widget/frame.obj src/widget/opengl.obj src/widget/window.obj src/widget/menu.obj src/widget/entry.obj src/widget/submenu.obj src/widget/viewport.obj src/widget/image.obj src/widget/scrollbar.obj src/widget/checkbox.obj src/widget/label.obj src/widget/listbox.obj src/widget/numberentry.obj src/backend/gdi.obj + $(LD) $(LDFLAGS) option implib=src/Mw.lib name $@ file src/core.obj file src/draw.obj file src/default.obj file src/lowlevel.obj file src/error.obj file src/unicode.obj file src/font.obj file src/color.obj file src/messagebox.obj file src/boldfont.obj file src/icon/info.obj file src/icon/note.obj file src/icon/warning.obj file src/icon/error.obj file src/icon/news.obj file src/icon/question.obj file src/cursor/default.obj file src/cursor/cross.obj file src/cursor/text.obj file src/widget/button.obj file src/widget/frame.obj file src/widget/opengl.obj file src/widget/window.obj file src/widget/menu.obj file src/widget/entry.obj file src/widget/submenu.obj file src/widget/viewport.obj file src/widget/image.obj file src/widget/scrollbar.obj file src/widget/checkbox.obj file src/widget/label.obj file src/widget/listbox.obj file src/widget/numberentry.obj file src/backend/gdi.obj library clib3r.lib library opengl32.lib library gdi32.lib library user32.lib -oosrc/MwOO.dll: oosrc/base.obj oosrc/widget/button.obj oosrc/widget/frame.obj oosrc/widget/image.obj oosrc/widget/menu.obj oosrc/widget/opengl.obj oosrc/widget/scrollbar.obj oosrc/widget/submenu.obj oosrc/widget/window.obj oosrc/widget/checkbox.obj oosrc/widget/viewport.obj oosrc/widget/label.obj oosrc/widget/entry.obj oosrc/widget/numberentry.obj - $(LD) $(LDFLAGS) option implib=oosrc/MwOO.lib name $@ file oosrc/base.obj file oosrc/widget/button.obj file oosrc/widget/frame.obj file oosrc/widget/image.obj file oosrc/widget/menu.obj file oosrc/widget/opengl.obj file oosrc/widget/scrollbar.obj file oosrc/widget/submenu.obj file oosrc/widget/window.obj file oosrc/widget/checkbox.obj file oosrc/widget/viewport.obj file oosrc/widget/label.obj file oosrc/widget/entry.obj file oosrc/widget/numberentry.obj library clib3r.lib library src/Mw.lib +oosrc/MwOO.dll: oosrc/base.obj oosrc/widget/button.obj oosrc/widget/frame.obj oosrc/widget/image.obj oosrc/widget/menu.obj oosrc/widget/opengl.obj oosrc/widget/scrollbar.obj oosrc/widget/submenu.obj oosrc/widget/window.obj oosrc/widget/checkbox.obj oosrc/widget/viewport.obj oosrc/widget/listbox.obj oosrc/widget/label.obj oosrc/widget/entry.obj oosrc/widget/numberentry.obj + $(LD) $(LDFLAGS) option implib=oosrc/MwOO.lib name $@ file oosrc/base.obj file oosrc/widget/button.obj file oosrc/widget/frame.obj file oosrc/widget/image.obj file oosrc/widget/menu.obj file oosrc/widget/opengl.obj file oosrc/widget/scrollbar.obj file oosrc/widget/submenu.obj file oosrc/widget/window.obj file oosrc/widget/checkbox.obj file oosrc/widget/viewport.obj file oosrc/widget/listbox.obj file oosrc/widget/label.obj file oosrc/widget/entry.obj file oosrc/widget/numberentry.obj library clib3r.lib library src/Mw.lib @@ -89,10 +89,6 @@ src/messagebox.obj: src/messagebox.c $(CC) $(CFLAGS) -fo=$@ $< src/boldfont.obj: src/boldfont.c $(CC) $(CFLAGS) -fo=$@ $< -src/external/ds.obj: src/external/ds.c - $(CC) $(CFLAGS) -fo=$@ $< -src/external/image.obj: src/external/image.c - $(CC) $(CFLAGS) -fo=$@ $< src/icon/info.obj: src/icon/info.c $(CC) $(CFLAGS) -fo=$@ $< src/icon/note.obj: src/icon/note.c @@ -135,6 +131,8 @@ src/widget/checkbox.obj: src/widget/checkbox.c $(CC) $(CFLAGS) -fo=$@ $< src/widget/label.obj: src/widget/label.c $(CC) $(CFLAGS) -fo=$@ $< +src/widget/listbox.obj: src/widget/listbox.c + $(CC) $(CFLAGS) -fo=$@ $< src/widget/numberentry.obj: src/widget/numberentry.c $(CC) $(CFLAGS) -fo=$@ $< src/backend/gdi.obj: src/backend/gdi.c @@ -161,6 +159,8 @@ oosrc/widget/checkbox.obj: oosrc/widget/checkbox.cc $(CXX) $(CXXFLAGS) -fo=$@ $< oosrc/widget/viewport.obj: oosrc/widget/viewport.cc $(CXX) $(CXXFLAGS) -fo=$@ $< +oosrc/widget/listbox.obj: oosrc/widget/listbox.cc + $(CXX) $(CXXFLAGS) -fo=$@ $< oosrc/widget/label.obj: oosrc/widget/label.cc $(CXX) $(CXXFLAGS) -fo=$@ $< oosrc/widget/entry.obj: oosrc/widget/entry.cc diff --git a/doc/index.html b/doc/index.html index b1850a76d..d70f40dcf 100644 --- a/doc/index.html +++ b/doc/index.html @@ -329,6 +329,12 @@
MwLabelClass
+
+ Mw/Widget/ListBox.h +
+
+ MwListBoxClass +
Mw/Widget/Menu.h
@@ -2269,6 +2275,20 @@
+

Mw/Widget/ListBox.h

+
+
+ ListBox widget. +
+
+
+
MWDECL MwClass MwListBoxClass;
+
+
+ ListBox widget class. +
+
+

Mw/Widget/Menu.h

diff --git a/examples/viewport.c b/examples/viewport.c index d92eec60c..4bdfb472f 100644 --- a/examples/viewport.c +++ b/examples/viewport.c @@ -18,7 +18,7 @@ int main() { vp = MwCreateWidget(MwViewportClass, "vp", w, 5, 5, 630, 470); - MwVaCreateWidget(MwImageClass, "image", MwViewportGetViewport(vp), 5, 5, 1024, 1024, + MwVaCreateWidget(MwImageClass, "image", MwViewportGetViewport(vp), 0, 0, 1024, 1024, MwNpixmap, MwLoadImage(vp, "examples/picture.png"), NULL); MwViewportSetSize(vp, 1024, 1024); diff --git a/include/Mw/Milsko.h b/include/Mw/Milsko.h index e8e3bd64b..1c91cce89 100644 --- a/include/Mw/Milsko.h +++ b/include/Mw/Milsko.h @@ -33,5 +33,6 @@ #include #include #include +#include #endif diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index 144db7205..b18a5da3e 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -19,6 +19,7 @@ typedef struct _MwFont MwFont; typedef struct _MwMenu* MwMenu; typedef struct _MwCursor MwCursor; typedef struct _MwEntry* MwEntry; +typedef struct _MwViewport* MwViewport; typedef struct _MwSizeHints MwSizeHints; #ifdef _MILSKO typedef struct _MwWidget* MwWidget; @@ -110,6 +111,13 @@ struct _MwEntry { MwPoint mouse; }; +struct _MwViewport { + MwWidget vscroll; + MwWidget hscroll; + MwWidget frame; + MwWidget inframe; +}; + struct _MwSizeHints { int min_width; int min_height; diff --git a/include/Mw/Widget/ListBox.h b/include/Mw/Widget/ListBox.h new file mode 100644 index 000000000..18d619eba --- /dev/null +++ b/include/Mw/Widget/ListBox.h @@ -0,0 +1,25 @@ +/* $Id$ */ +/*! + * %file Mw/Widget/ListBox.h + * %brief ListBox widget + */ +#ifndef __MW_WIDGET_LISTBOX_H__ +#define __MW_WIDGET_LISTBOX_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/*! + * %brief ListBox widget class + */ +MWDECL MwClass MwListBoxClass; + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/MwOO/Base.h b/include/MwOO/Base.h index f5302d668..d03e4d68a 100644 --- a/include/MwOO/Base.h +++ b/include/MwOO/Base.h @@ -30,17 +30,6 @@ class Base { int GetWidth(void); int GetHeight(void); /* BEGIN AUTOGENERATE */ - virtual void OnActivate(void*) {}; - virtual void OnResize(void*) {}; - virtual void OnTick(void*) {}; - virtual void OnMenu(void*) {}; - virtual void OnMouseDownHandler(void*) {}; - virtual void OnMouseUpHandler(void*) {}; - virtual void OnMouseMoveHandler(void*) {}; - virtual void OnChangedHandler(void*) {}; - virtual void OnKeyHandler(void*) {}; - virtual void OnKeyReleaseHandler(void*) {}; - virtual void OnCloseHandler(void*) {}; /* END AUTOGENERATE */ diff --git a/include/MwOO/Widget/ListBox.h b/include/MwOO/Widget/ListBox.h new file mode 100644 index 000000000..6572190bc --- /dev/null +++ b/include/MwOO/Widget/ListBox.h @@ -0,0 +1,18 @@ +/* $Id$ */ +#ifndef __MWOO_WIDGET_LISTBOX_H__ +#define __MWOO_WIDGET_LISTBOX_H__ + +#include + +namespace MwOO { +class ListBox : public MwOO::Base { + public: + ListBox(const char* widget_name, MwOO::Base* parent, int x, int y, int w, int h); + void SetBackground(const char* value); + const char* GetBackground(void); + void SetForeground(const char* value); + const char* GetForeground(void); +}; +} // namespace MwOO + +#endif diff --git a/oosrc/base.cc b/oosrc/base.cc index d21361340..02532688a 100644 --- a/oosrc/base.cc +++ b/oosrc/base.cc @@ -68,62 +68,7 @@ int MwOO::Base::GetHeight(void){ } /* BEGIN AUTOGENERATE */ -static void __OnActivate(MwWidget widget, void* user, void* call){ - MwOO::Base* c = (MwOO::Base*)user; - (void)widget; c->OnActivate(call); -} -static void __OnResize(MwWidget widget, void* user, void* call){ - MwOO::Base* c = (MwOO::Base*)user; - (void)widget; c->OnResize(call); -} -static void __OnTick(MwWidget widget, void* user, void* call){ - MwOO::Base* c = (MwOO::Base*)user; - (void)widget; c->OnTick(call); -} -static void __OnMenu(MwWidget widget, void* user, void* call){ - MwOO::Base* c = (MwOO::Base*)user; - (void)widget; c->OnMenu(call); -} -static void __OnMouseDownHandler(MwWidget widget, void* user, void* call){ - MwOO::Base* c = (MwOO::Base*)user; - (void)widget; c->OnMouseDownHandler(call); -} -static void __OnMouseUpHandler(MwWidget widget, void* user, void* call){ - MwOO::Base* c = (MwOO::Base*)user; - (void)widget; c->OnMouseUpHandler(call); -} -static void __OnMouseMoveHandler(MwWidget widget, void* user, void* call){ - MwOO::Base* c = (MwOO::Base*)user; - (void)widget; c->OnMouseMoveHandler(call); -} -static void __OnChangedHandler(MwWidget widget, void* user, void* call){ - MwOO::Base* c = (MwOO::Base*)user; - (void)widget; c->OnChangedHandler(call); -} -static void __OnKeyHandler(MwWidget widget, void* user, void* call){ - MwOO::Base* c = (MwOO::Base*)user; - (void)widget; c->OnKeyHandler(call); -} -static void __OnKeyReleaseHandler(MwWidget widget, void* user, void* call){ - MwOO::Base* c = (MwOO::Base*)user; - (void)widget; c->OnKeyReleaseHandler(call); -} -static void __OnCloseHandler(MwWidget widget, void* user, void* call){ - MwOO::Base* c = (MwOO::Base*)user; - (void)widget; c->OnCloseHandler(call); -} void MwOO::Base::SetHandler(void){ - MwAddUserHandler(this->widget, MwNactivateHandler, __OnActivate, this); - MwAddUserHandler(this->widget, MwNresizeHandler, __OnResize, this); - MwAddUserHandler(this->widget, MwNtickHandler, __OnTick, this); - MwAddUserHandler(this->widget, MwNmenuHandler, __OnMenu, this); - MwAddUserHandler(this->widget, MwNmouseDownHandler, __OnMouseDownHandler, this); - MwAddUserHandler(this->widget, MwNmouseUpHandler, __OnMouseUpHandler, this); - MwAddUserHandler(this->widget, MwNmouseMoveHandler, __OnMouseMoveHandler, this); - MwAddUserHandler(this->widget, MwNchangedHandler, __OnChangedHandler, this); - MwAddUserHandler(this->widget, MwNkeyHandler, __OnKeyHandler, this); - MwAddUserHandler(this->widget, MwNkeyReleaseHandler, __OnKeyReleaseHandler, this); - MwAddUserHandler(this->widget, MwNcloseHandler, __OnCloseHandler, this); } /* END AUTOGENERATE */ diff --git a/oosrc/deps.mk b/oosrc/deps.mk index a4a7ebb61..e1141346c 100644 --- a/oosrc/deps.mk +++ b/oosrc/deps.mk @@ -1,2 +1,2 @@ # $Id$ -OOL_OBJS += oosrc/widget/button.o oosrc/widget/frame.o oosrc/widget/image.o oosrc/widget/menu.o oosrc/widget/scrollbar.o oosrc/widget/submenu.o oosrc/widget/window.o oosrc/widget/checkbox.o oosrc/widget/label.o oosrc/widget/entry.o oosrc/widget/viewport.o oosrc/widget/numberentry.o +OOL_OBJS += oosrc/widget/button.o oosrc/widget/frame.o oosrc/widget/image.o oosrc/widget/menu.o oosrc/widget/scrollbar.o oosrc/widget/submenu.o oosrc/widget/window.o oosrc/widget/checkbox.o oosrc/widget/label.o oosrc/widget/entry.o oosrc/widget/viewport.o oosrc/widget/numberentry.o oosrc/widget/listbox.o diff --git a/oosrc/widget/listbox.cc b/oosrc/widget/listbox.cc new file mode 100644 index 000000000..4a09e4afd --- /dev/null +++ b/oosrc/widget/listbox.cc @@ -0,0 +1,23 @@ +/* $Id$ */ +#include +#include + +MwOO::ListBox::ListBox(const char* widget_name, MwOO::Base* parent, int x, int y, int w, int h) : MwOO::Base(MwListBoxClass, widget_name, parent, x, y, w, h){ +} + +void MwOO::ListBox::SetBackground(const char* value){ + MwSetText(this->widget, MwNbackground, value); +} + +const char* MwOO::ListBox::GetBackground(void){ + return MwGetText(this->widget, MwNbackground); +} + +void MwOO::ListBox::SetForeground(const char* value){ + MwSetText(this->widget, MwNforeground, value); +} + +const char* MwOO::ListBox::GetForeground(void){ + return MwGetText(this->widget, MwNforeground); +} + diff --git a/resource/icon/error.png b/resource/icon/error.png index 7ef3ff2cd..70f0b855a 100644 Binary files a/resource/icon/error.png and b/resource/icon/error.png differ diff --git a/resource/icon/info.png b/resource/icon/info.png index 43dd80939..94cb26dec 100644 Binary files a/resource/icon/info.png and b/resource/icon/info.png differ diff --git a/resource/icon/news.png b/resource/icon/news.png index 8d5eb4abf..dc2a88d1f 100644 Binary files a/resource/icon/news.png and b/resource/icon/news.png differ diff --git a/resource/icon/note.png b/resource/icon/note.png index f63620122..1124f8e1e 100644 Binary files a/resource/icon/note.png and b/resource/icon/note.png differ diff --git a/resource/icon/question.png b/resource/icon/question.png index 2599ac268..407405b91 100644 Binary files a/resource/icon/question.png and b/resource/icon/question.png differ diff --git a/resource/icon/warning.png b/resource/icon/warning.png index d1ebad948..b9beb3467 100644 Binary files a/resource/icon/warning.png and b/resource/icon/warning.png differ diff --git a/src/widget/listbox.c b/src/widget/listbox.c new file mode 100644 index 000000000..82fa510e1 --- /dev/null +++ b/src/widget/listbox.c @@ -0,0 +1,40 @@ +/* $Id$ */ +#include + +static int create(MwWidget handle) { + int st; + + if((st = MwViewportClass->create(handle)) != 0) return st; + + return 0; +} + +static void destroy(MwWidget handle) { + MwViewportClass->destroy(handle); +} + +static void draw(MwWidget handle) { + MwViewportClass->draw(handle); +} + +static void prop_change(MwWidget handle, const char* prop) { + MwViewportClass->prop_change(handle, prop); +} + +MwClassRec MwListBoxClassRec = { + create, /* create */ + destroy, /* destroy */ + draw, /* draw */ + NULL, /* click */ + NULL, /* parent_resize */ + prop_change, /* prop_change */ + NULL, /* mouse_move */ + NULL, /* mouse_up */ + NULL, /* mouse_down */ + NULL, /* key */ + NULL, + NULL, + NULL, + NULL, + NULL}; +MwClass MwListBoxClass = &MwListBoxClassRec; diff --git a/src/widget/viewport.c b/src/widget/viewport.c index 7279bb6e7..6d368cc12 100644 --- a/src/widget/viewport.c +++ b/src/widget/viewport.c @@ -1,19 +1,12 @@ /* $Id$ */ #include -typedef struct viewport { - MwWidget vscroll; - MwWidget hscroll; - MwWidget frame; - MwWidget inframe; -} viewport_t; - static void vscroll_changed(MwWidget handle, void* user, void* call) { - viewport_t* vp = user; - int v = MwGetInteger(handle, MwNvalue); - int mv = MwGetInteger(handle, MwNmaxValue); - int l = MwGetInteger(vp->frame, MwNheight); - v = (mv - l) * (double)v / mv; + MwViewport vp = user; + int v = MwGetInteger(handle, MwNvalue); + int mv = MwGetInteger(handle, MwNmaxValue); + int l = MwGetInteger(vp->frame, MwNheight); + v = (mv - l) * (double)v / mv; (void)call; if(v < 0) v = 0; MwVaApply(vp->inframe, @@ -22,11 +15,11 @@ static void vscroll_changed(MwWidget handle, void* user, void* call) { } static void hscroll_changed(MwWidget handle, void* user, void* call) { - viewport_t* vp = user; - int v = MwGetInteger(handle, MwNvalue); - int mv = MwGetInteger(handle, MwNmaxValue); - int l = MwGetInteger(vp->frame, MwNwidth); - v = (mv - l) * (double)v / mv; + MwViewport vp = user; + int v = MwGetInteger(handle, MwNvalue); + int mv = MwGetInteger(handle, MwNmaxValue); + int l = MwGetInteger(vp->frame, MwNwidth); + v = (mv - l) * (double)v / mv; (void)call; if(v < 0) v = 0; MwVaApply(vp->inframe, @@ -35,11 +28,11 @@ static void hscroll_changed(MwWidget handle, void* user, void* call) { } static void resize(MwWidget handle) { - viewport_t* vp = handle->internal; - int w = MwGetInteger(handle, MwNwidth); - int h = MwGetInteger(handle, MwNheight); - int iw; - int ih; + MwViewport vp = handle->internal; + int w = MwGetInteger(handle, MwNwidth); + int h = MwGetInteger(handle, MwNheight); + int iw; + int ih; if(vp->vscroll == NULL) { vp->vscroll = MwVaCreateWidget(MwScrollBarClass, "vscroll", handle, w - 16, 0, 16, h - 16, NULL); MwAddUserHandler(vp->vscroll, MwNchangedHandler, vscroll_changed, vp); @@ -91,7 +84,7 @@ static void resize(MwWidget handle) { } static int create(MwWidget handle) { - viewport_t* vp = malloc(sizeof(*vp)); + MwViewport vp = malloc(sizeof(*vp)); memset(vp, 0, sizeof(*vp)); handle->internal = vp; @@ -103,6 +96,10 @@ static int create(MwWidget handle) { return 0; } +static void destroy(MwWidget handle) { + free(handle->internal); +} + static void draw(MwWidget handle) { MwRect r; MwLLColor base = MwParseColor(handle, MwGetText(handle, MwNbackground)); @@ -123,7 +120,7 @@ static void prop_change(MwWidget handle, const char* prop) { MwClassRec MwViewportClassRec = { create, /* create */ - NULL, /* destroy */ + destroy, /* destroy */ draw, /* draw */ NULL, /* click */ NULL, /* parent_resize */ @@ -140,13 +137,13 @@ MwClassRec MwViewportClassRec = { MwClass MwViewportClass = &MwViewportClassRec; MwWidget MwViewportGetViewport(MwWidget handle) { - viewport_t* vp = handle->internal; + MwViewport vp = handle->internal; return vp->inframe; } void MwViewportSetSize(MwWidget handle, int w, int h) { - viewport_t* vp = handle->internal; + MwViewport vp = handle->internal; MwVaApply(vp->inframe, MwNwidth, w,