#include <ucx/map.h>
#include "stock.h"
#include "../ui/properties.h"
static UcxMap *stock_items;
void ui_stock_init() {
stock_items = ucx_map_new(
64);
ui_add_stock_item(
UI_STOCK_NEW,
"New",
"document-new");
ui_add_stock_item(
UI_STOCK_OPEN,
"Open",
"document-open");
ui_add_stock_item(
UI_STOCK_SAVE,
"Save",
"document-save");
ui_add_stock_item(
UI_STOCK_SAVE_AS,
"Save as ...",
"document-save-as");
ui_add_stock_item(
UI_STOCK_REVERT_TO_SAVED,
"Revert to saved",
"document-revert");
ui_add_stock_item(
UI_STOCK_CLOSE,
"Close",
"window-close");
ui_add_stock_item(
UI_STOCK_UNDO,
"Undo",
"edit-undo");
ui_add_stock_item(
UI_STOCK_REDO,
"Redo",
"edit-redo");
ui_add_stock_item(
UI_STOCK_GO_BACK,
"Back",
"go-previous");
ui_add_stock_item(
UI_STOCK_GO_FORWARD,
"Forward",
"go-next");
ui_add_stock_item(
UI_STOCK_CUT,
"Cut",
"edit-cut");
ui_add_stock_item(
UI_STOCK_COPY,
"Copy",
"edit-copy");
ui_add_stock_item(
UI_STOCK_PASTE,
"Paste",
"edit-paste");
ui_add_stock_item(
UI_STOCK_DELETE,
"Delete",
"edit-delete");
}
void ui_add_stock_item(
char *id,
char *label,
char *icon) {
UiStockItem *item = new UiStockItem(label, icon);
ucx_map_cstr_put(stock_items, id, item);
}
UiStockItem* ui_get_stock_item(
char *id) {
UiStockItem *item = (UiStockItem*)ucx_map_cstr_get(stock_items, id);
if(item) {
char *label = uistr_n(id);
if(label) {
item->label = label;
}
}
return item;
}
UiStockItem::UiStockItem(
char* label,
char* icon_name) {
this->label = label;
this->icon_name = icon_name;
}