mirror of
https://gitea.nishi.boats/pyrite-dev/milsko
synced 2025-12-31 06:30:52 +00:00
add messagebox
git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@338 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
@@ -3,13 +3,30 @@
|
||||
|
||||
#include "../resource/harvard.c"
|
||||
|
||||
int main(){
|
||||
MwWidget w = MwVaCreateWidget(MwWindowClass, "main", NULL, MwDEFAULT, MwDEFAULT, 640, 480,
|
||||
MwNtitle, "test",
|
||||
NULL);
|
||||
MwWidget lb = MwCreateWidget(MwListBoxClass, "listbox", w, 5, 5, 630, 470);
|
||||
MwWidget wmain;
|
||||
|
||||
MwListBoxInsertMultiple(lb, -1, (char**)harvard, sizeof(harvard) / sizeof(harvard[0]) - 1);
|
||||
|
||||
MwLoop(w);
|
||||
void destroy(MwWidget handle, void* user, void* call) {
|
||||
MwDestroyWidget(user);
|
||||
}
|
||||
|
||||
void activate(MwWidget handle, void* user, void* call) {
|
||||
char msg[256];
|
||||
MwWidget msgbox;
|
||||
sprintf(msg, "You pressed: %s", MwListBoxGet(handle, *(int*)call));
|
||||
|
||||
msgbox = MwMessageBox(wmain, msg, "wow", MwMB_ICONINFO | MwMB_BUTTONOK);
|
||||
MwAddUserHandler(MwMessageBoxGetChild(msgbox, MwMB_BUTTONOK), MwNactivateHandler, destroy, msgbox);
|
||||
}
|
||||
|
||||
int main() {
|
||||
MwWidget lb;
|
||||
wmain = MwVaCreateWidget(MwWindowClass, "main", NULL, MwDEFAULT, MwDEFAULT, 640, 480,
|
||||
MwNtitle, "test",
|
||||
NULL);
|
||||
lb = MwCreateWidget(MwListBoxClass, "listbox", wmain, 5, 5, 630, 470);
|
||||
|
||||
MwAddUserHandler(lb, MwNactivateHandler, activate, NULL);
|
||||
MwListBoxInsertMultiple(lb, -1, (char**)harvard, sizeof(harvard) / sizeof(harvard[0]) - 1);
|
||||
|
||||
MwLoop(wmain);
|
||||
}
|
||||
|
||||
@@ -126,7 +126,7 @@ struct _MwListBox {
|
||||
char** list;
|
||||
int selected;
|
||||
unsigned long click_time;
|
||||
int pressed;
|
||||
int pressed;
|
||||
};
|
||||
|
||||
struct _MwSizeHints {
|
||||
|
||||
@@ -53,8 +53,8 @@ static void frame_mouse_up(MwWidget handle, void* user, void* call) {
|
||||
}
|
||||
|
||||
static void frame_mouse_move(MwWidget handle, void* user, void* call) {
|
||||
MwListBox lb = handle->parent->internal;
|
||||
MwPoint* p = call;
|
||||
MwListBox lb = handle->parent->internal;
|
||||
MwPoint* p = call;
|
||||
if(lb->pressed) {
|
||||
int st = 0;
|
||||
int i;
|
||||
@@ -64,7 +64,7 @@ static void frame_mouse_move(MwWidget handle, void* user, void* call) {
|
||||
st = get_first_entry(lb);
|
||||
for(i = 0; i < (h - MwDefaultBorderWidth * 2) / MwTextHeight(handle, "M"); i++) {
|
||||
if(y <= p->y && p->y <= (y + MwTextHeight(handle, "M"))) {
|
||||
lb->selected = st + i;
|
||||
lb->selected = st + i;
|
||||
}
|
||||
y += MwTextHeight(handle, "M");
|
||||
}
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
|
||||
open(IN, "<", "resource/harvard.txt");
|
||||
print("const char* harvard[] = {\n");
|
||||
while(my $l = <IN>){
|
||||
$l =~ s/\r?\n$//;
|
||||
if($l =~ /^[ \t]*[0-9]+\. (.+)$/){
|
||||
print(" \"" . $1 . "\",\n");
|
||||
}
|
||||
while (my $l = <IN>) {
|
||||
$l =~ s/\r?\n$//;
|
||||
if ($l =~ /^[ \t]*[0-9]+\. (.+)$/) {
|
||||
print(" \"" . $1 . "\",\n");
|
||||
}
|
||||
}
|
||||
print(" NULL\n");
|
||||
print("};\n");
|
||||
|
||||
Reference in New Issue
Block a user