diff --git a/BorMakefile b/BorMakefile index 90d7e3c..83fde18 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 a98e4bc..3061ce0 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 26ef2ae..aac722a 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 eb43d39..7644d7a 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 b1850a7..d70f40d 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 d92eec6..4bdfb47 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 e8e3bd6..1c91cce 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 144db72..b18a5da 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 0000000..18d619e --- /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 f5302d6..d03e4d6 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 0000000..6572190 --- /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 d213613..0253268 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 a4a7ebb..e114134 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 0000000..4a09e4a --- /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 7ef3ff2..70f0b85 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 43dd809..94cb26d 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 8d5eb4a..dc2a88d 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 f636201..1124f8e 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 2599ac2..407405b 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 d1ebad9..b9beb34 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 0000000..82fa510 --- /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 7279bb6..6d368cc 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,