work on listbox

git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@327 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-10-14 14:39:40 +00:00
parent e07b752f6f
commit c6e267a2b7
22 changed files with 183 additions and 117 deletions

View File

@@ -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:

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -329,6 +329,12 @@
<dd>
<a href="#Mw_Widget_Label_h__MwLabelClass">MwLabelClass</a>
</dd>
<dt>
<a href="#Mw_Widget_ListBox_h">Mw/Widget/ListBox.h</a>
</dt>
<dd>
<a href="#Mw_Widget_ListBox_h__MwListBoxClass">MwListBoxClass</a>
</dd>
<dt>
<a href="#Mw_Widget_Menu_h">Mw/Widget/Menu.h</a>
</dt>
@@ -2269,6 +2275,20 @@
</dd>
</dl>
<hr>
<h2 align="center" id="Mw_Widget_ListBox_h">Mw/Widget/ListBox.h</h2>
<dl>
<dt>
ListBox widget.
</dt>
</dl>
<hr>
<pre id="Mw_Widget_ListBox_h__MwListBoxClass">MWDECL MwClass MwListBoxClass;</pre>
<dl>
<dd>
ListBox widget class.
</dd>
</dl>
<hr>
<h2 align="center" id="Mw_Widget_Menu_h">Mw/Widget/Menu.h</h2>
<dl>
<dt>

View File

@@ -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);

View File

@@ -33,5 +33,6 @@
#include <Mw/Widget/ScrollBar.h>
#include <Mw/Widget/NumberEntry.h>
#include <Mw/Widget/Viewport.h>
#include <Mw/Widget/ListBox.h>
#endif

View File

@@ -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;

View File

@@ -0,0 +1,25 @@
/* $Id$ */
/*!
* %file Mw/Widget/ListBox.h
* %brief ListBox widget
*/
#ifndef __MW_WIDGET_LISTBOX_H__
#define __MW_WIDGET_LISTBOX_H__
#include <Mw/MachDep.h>
#include <Mw/TypeDefs.h>
#ifdef __cplusplus
extern "C" {
#endif
/*!
* %brief ListBox widget class
*/
MWDECL MwClass MwListBoxClass;
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -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 */

View File

@@ -0,0 +1,18 @@
/* $Id$ */
#ifndef __MWOO_WIDGET_LISTBOX_H__
#define __MWOO_WIDGET_LISTBOX_H__
#include <MwOO/Base.h>
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

View File

@@ -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 */

View File

@@ -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

23
oosrc/widget/listbox.cc Normal file
View File

@@ -0,0 +1,23 @@
/* $Id$ */
#include <MwOO/Widget/ListBox.h>
#include <Mw/Widget/ListBox.h>
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);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 663 B

After

Width:  |  Height:  |  Size: 663 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 434 B

After

Width:  |  Height:  |  Size: 434 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 542 B

After

Width:  |  Height:  |  Size: 542 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 594 B

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 529 B

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 498 B

After

Width:  |  Height:  |  Size: 498 B

40
src/widget/listbox.c Normal file
View File

@@ -0,0 +1,40 @@
/* $Id$ */
#include <Mw/Milsko.h>
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;

View File

@@ -1,19 +1,12 @@
/* $Id$ */
#include <Mw/Milsko.h>
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,