mirror of
https://github.com/aseprite/aseprite.git
synced 2025-04-24 09:02:31 +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
|
popup_frame.cpp
|
||||||
preferred_size_event.cpp
|
preferred_size_event.cpp
|
||||||
property.cpp
|
property.cpp
|
||||||
quickmenu.cpp
|
|
||||||
rect.cpp
|
rect.cpp
|
||||||
region.cpp
|
region.cpp
|
||||||
separator.cpp
|
separator.cpp
|
||||||
|
@ -41,7 +41,6 @@
|
|||||||
|
|
||||||
struct jaccel;
|
struct jaccel;
|
||||||
struct jhook;
|
struct jhook;
|
||||||
struct jquickmenu;
|
|
||||||
struct jlink;
|
struct jlink;
|
||||||
struct jlist;
|
struct jlist;
|
||||||
union jmessage;
|
union jmessage;
|
||||||
@ -196,7 +195,6 @@ typedef void* JThread;
|
|||||||
|
|
||||||
typedef struct jaccel* JAccel;
|
typedef struct jaccel* JAccel;
|
||||||
typedef struct jhook* JHook;
|
typedef struct jhook* JHook;
|
||||||
typedef struct jquickmenu* JQuickMenu;
|
|
||||||
typedef struct jlink* JLink;
|
typedef struct jlink* JLink;
|
||||||
typedef struct jlist* JList;
|
typedef struct jlist* JList;
|
||||||
typedef union jmessage* JMessage;
|
typedef union jmessage* JMessage;
|
||||||
|
@ -37,7 +37,6 @@
|
|||||||
#include "gui/popup_frame.h"
|
#include "gui/popup_frame.h"
|
||||||
#include "gui/preferred_size_event.h"
|
#include "gui/preferred_size_event.h"
|
||||||
#include "gui/property.h"
|
#include "gui/property.h"
|
||||||
#include "gui/quickmenu.h"
|
|
||||||
#include "gui/rect.h"
|
#include "gui/rect.h"
|
||||||
#include "gui/region.h"
|
#include "gui/region.h"
|
||||||
#include "gui/separator.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