mirror of
https://github.com/aseprite/aseprite.git
synced 2025-04-09 18:44:46 +00:00
Remove quick-menu stuff (used only in old jinete examples):
This commit is contained in:
parent
d1baef1555
commit
b2ff34909f
@ -34,7 +34,6 @@ add_library(gui-lib
|
||||
popup_frame.cpp
|
||||
preferred_size_event.cpp
|
||||
property.cpp
|
||||
quickmenu.cpp
|
||||
rect.cpp
|
||||
region.cpp
|
||||
separator.cpp
|
||||
|
@ -41,7 +41,6 @@
|
||||
|
||||
struct jaccel;
|
||||
struct jhook;
|
||||
struct jquickmenu;
|
||||
struct jlink;
|
||||
struct jlist;
|
||||
union jmessage;
|
||||
@ -196,7 +195,6 @@ typedef void* JThread;
|
||||
|
||||
typedef struct jaccel* JAccel;
|
||||
typedef struct jhook* JHook;
|
||||
typedef struct jquickmenu* JQuickMenu;
|
||||
typedef struct jlink* JLink;
|
||||
typedef struct jlist* JList;
|
||||
typedef union jmessage* JMessage;
|
||||
|
@ -37,7 +37,6 @@
|
||||
#include "gui/popup_frame.h"
|
||||
#include "gui/preferred_size_event.h"
|
||||
#include "gui/property.h"
|
||||
#include "gui/quickmenu.h"
|
||||
#include "gui/rect.h"
|
||||
#include "gui/region.h"
|
||||
#include "gui/separator.h"
|
||||
|
@ -1,130 +0,0 @@
|
||||
// ASE gui library
|
||||
// Copyright (C) 2001-2011 David Capello
|
||||
//
|
||||
// This source file is ditributed under a BSD-like license, please
|
||||
// read LICENSE.txt for more information.
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "gui/accel.h"
|
||||
#include "gui/list.h"
|
||||
#include "gui/menu.h"
|
||||
#include "gui/message.h"
|
||||
#include "gui/quickmenu.h"
|
||||
#include "gui/separator.h"
|
||||
#include "gui/widget.h"
|
||||
|
||||
struct QuickData
|
||||
{
|
||||
void (*quick_handler)(JWidget widget, int user_data);
|
||||
int user_data;
|
||||
};
|
||||
|
||||
static void process_quickmenu(JWidget menu, JQuickMenu quick_menu);
|
||||
static bool quickmenu_msg_proc(JWidget widget, JMessage msg);
|
||||
|
||||
static int quickmenu_type()
|
||||
{
|
||||
static int type = 0;
|
||||
if (!type)
|
||||
type = ji_register_widget_type();
|
||||
return type;
|
||||
}
|
||||
|
||||
JWidget jmenubar_new_quickmenu(JQuickMenu quick_menu)
|
||||
{
|
||||
JWidget menubar = jmenubar_new();
|
||||
JWidget menu = jmenu_new();
|
||||
|
||||
jmenubar_set_menu(menubar, menu);
|
||||
process_quickmenu(menu, quick_menu);
|
||||
|
||||
return menubar;
|
||||
}
|
||||
|
||||
JWidget jmenubox_new_quickmenu(JQuickMenu quick_menu)
|
||||
{
|
||||
JWidget menubox = jmenubox_new();
|
||||
JWidget menu = jmenu_new();
|
||||
|
||||
jmenubox_set_menu(menubox, menu);
|
||||
process_quickmenu(menu, quick_menu);
|
||||
|
||||
return menubox;
|
||||
}
|
||||
|
||||
static void process_quickmenu(JWidget menu, JQuickMenu quick_menu)
|
||||
{
|
||||
JWidget menuitem = NULL;
|
||||
JList parent = jlist_new();
|
||||
int c, old_level = 0;
|
||||
|
||||
jlist_append(parent, menu);
|
||||
|
||||
for (c=0; quick_menu[c].level >= 0; c++) {
|
||||
if (old_level < quick_menu[c].level) {
|
||||
if (menuitem) {
|
||||
menu = jmenu_new();
|
||||
jmenuitem_set_submenu(menuitem, menu);
|
||||
jlist_append(parent, menu);
|
||||
}
|
||||
}
|
||||
else {
|
||||
while (old_level > quick_menu[c].level) {
|
||||
old_level--;
|
||||
jlist_remove(parent, jlist_last(parent)->data);
|
||||
}
|
||||
}
|
||||
|
||||
/* normal menu item */
|
||||
if (quick_menu[c].text) {
|
||||
menuitem = jmenuitem_new(quick_menu[c].text);
|
||||
|
||||
if (quick_menu[c].accel) {
|
||||
JAccel accel = jaccel_new();
|
||||
jaccel_add_keys_from_string(accel, quick_menu[c].accel);
|
||||
jmenuitem_set_accel(menuitem, accel);
|
||||
}
|
||||
|
||||
if (quick_menu[c].quick_handler) {
|
||||
QuickData *quick_data = new QuickData;
|
||||
|
||||
quick_data->quick_handler = quick_menu[c].quick_handler;
|
||||
quick_data->user_data = quick_menu[c].user_data;
|
||||
|
||||
jwidget_add_hook(menuitem, quickmenu_type(),
|
||||
quickmenu_msg_proc, quick_data);
|
||||
}
|
||||
}
|
||||
/* separator */
|
||||
else {
|
||||
menuitem = ji_separator_new(NULL, JI_HORIZONTAL);
|
||||
}
|
||||
|
||||
jwidget_add_child((JWidget)jlist_last(parent)->data, menuitem);
|
||||
|
||||
old_level = quick_menu[c].level;
|
||||
}
|
||||
|
||||
jlist_free(parent);
|
||||
}
|
||||
|
||||
static bool quickmenu_msg_proc(JWidget widget, JMessage msg)
|
||||
{
|
||||
switch (msg->type) {
|
||||
|
||||
case JM_DESTROY:
|
||||
delete (QuickData*)(jwidget_get_data(widget, quickmenu_type()));
|
||||
break;
|
||||
|
||||
case JM_SIGNAL:
|
||||
if (msg->signal.num == JI_SIGNAL_MENUITEM_SELECT) {
|
||||
QuickData* quick_data = reinterpret_cast<QuickData*>(jwidget_get_data(widget, quickmenu_type()));
|
||||
(*quick_data->quick_handler)(widget, quick_data->user_data);
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
// ASE gui library
|
||||
// Copyright (C) 2001-2011 David Capello
|
||||
//
|
||||
// This source file is ditributed under a BSD-like license, please
|
||||
// read LICENSE.txt for more information.
|
||||
|
||||
#ifndef GUI_QUICKMENU_H_INCLUDED
|
||||
#define GUI_QUICKMENU_H_INCLUDED
|
||||
|
||||
#include "gui/base.h"
|
||||
|
||||
struct jquickmenu
|
||||
{
|
||||
int level;
|
||||
const char *text;
|
||||
const char *accel;
|
||||
void (*quick_handler)(JWidget widget, int user_data);
|
||||
int user_data;
|
||||
};
|
||||
|
||||
JWidget jmenubar_new_quickmenu(JQuickMenu quick_menu);
|
||||
JWidget jmenubox_new_quickmenu(JQuickMenu quick_menu);
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user