enventor/src/bin/tools.c

126 lines
4.0 KiB
C
Raw Normal View History

#include <Elementary.h>
#include "common.h"
2014-03-08 05:55:48 -08:00
#define TOOLBAR_ICON_SIZE 16
Eina_Bool
unselect_anim_cb(void *data)
{
Elm_Object_Item *it = data;
elm_toolbar_item_selected_set(it, EINA_FALSE);
return ECORE_CALLBACK_CANCEL;
}
static void
2014-03-08 05:55:48 -08:00
item_unselect(Elm_Object_Item *it)
{
2014-03-08 05:55:48 -08:00
ecore_timer_add(0.1, unselect_anim_cb, it);
}
static void
2014-03-08 05:55:48 -08:00
f2_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
menu_edc_new();
2014-03-08 05:55:48 -08:00
item_unselect((Elm_Object_Item *)event_info);
}
static void
2014-03-08 05:55:48 -08:00
f3_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
menu_edc_save();
2014-03-08 05:55:48 -08:00
item_unselect((Elm_Object_Item *)event_info);
}
static void
2014-03-08 05:55:48 -08:00
f4_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
menu_edc_load();
2014-03-08 05:55:48 -08:00
item_unselect((Elm_Object_Item *)event_info);
}
static void
2014-03-08 05:55:48 -08:00
f5_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
edit_data *ed = data;
config_part_highlight_set(!config_part_highlight_get());
edit_part_highlight_toggle(ed, EINA_TRUE);
item_unselect((Elm_Object_Item *)event_info);
}
static void
f6_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
config_dummy_swallow_set(!config_dummy_swallow_get());
view_dummy_toggle(VIEW_DATA, EINA_TRUE);
item_unselect((Elm_Object_Item *)event_info);
}
static void
f9_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
{
2014-01-29 10:17:59 -08:00
edit_data *ed = data;
config_linenumber_set(!config_linenumber_get());
edit_line_number_toggle(ed);
2014-03-08 05:55:48 -08:00
item_unselect((Elm_Object_Item *)event_info);
}
static void
2014-03-08 05:55:48 -08:00
f10_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
base_statusbar_toggle(EINA_TRUE);
2014-03-08 05:55:48 -08:00
item_unselect((Elm_Object_Item *)event_info);
}
static void
2014-03-08 05:55:48 -08:00
f11_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
2014-03-08 05:55:48 -08:00
if (search_is_opened()) search_close();
else search_open();
item_unselect((Elm_Object_Item *)event_info);
}
2014-03-08 05:55:48 -08:00
static void
f12_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
2014-03-08 05:55:48 -08:00
menu_setting();
item_unselect((Elm_Object_Item *)event_info);
}
Evas_Object *
tools_create(Evas_Object *parent, edit_data *ed)
{
2014-03-08 05:55:48 -08:00
Evas_Object *toolbar = elm_toolbar_add(parent);
elm_object_style_set(toolbar, "item_horizontal");
elm_toolbar_icon_size_set(toolbar,
TOOLBAR_ICON_SIZE * elm_config_scale_get());
elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
elm_toolbar_homogeneous_set(toolbar, EINA_FALSE);
elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
evas_object_size_hint_weight_set(toolbar, EVAS_HINT_EXPAND,
EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(toolbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_object_focus_allow_set(toolbar, EINA_FALSE);
Elm_Object_Item *it;
it = elm_toolbar_item_append(toolbar, NULL, "New", f2_cb, NULL);
elm_toolbar_item_icon_file_set(it, EDJE_PATH, "new");
it = elm_toolbar_item_append(toolbar, NULL, "Save", f3_cb, NULL);
elm_toolbar_item_icon_file_set(it, EDJE_PATH, "file");
it = elm_toolbar_item_append(toolbar, NULL, "Load", f4_cb, NULL);
elm_toolbar_item_icon_file_set(it, EDJE_PATH, "file");
it = elm_toolbar_item_append(toolbar, NULL, "Highlight", f5_cb, ed);
elm_toolbar_item_icon_file_set(it, EDJE_PATH, "highlight");
it = elm_toolbar_item_append(toolbar, NULL, "Swallow", f6_cb, NULL);
elm_toolbar_item_icon_file_set(it, EDJE_PATH, "swallow_s");
it = elm_toolbar_item_append(toolbar, NULL, "Lines", f9_cb, ed);
elm_toolbar_item_icon_file_set(it, EDJE_PATH, "lines");
it = elm_toolbar_item_append(toolbar, NULL, "Find", f11_cb, NULL);
elm_toolbar_item_icon_file_set(it, EDJE_PATH, "find");
it = elm_toolbar_item_append(toolbar, NULL, "Status", f10_cb, NULL);
elm_toolbar_item_icon_file_set(it, EDJE_PATH, "status");
it = elm_toolbar_item_append(toolbar, NULL, "Setting", f12_cb, NULL);
elm_toolbar_item_icon_file_set(it, EDJE_PATH, "setting");
2014-03-08 05:55:48 -08:00
return toolbar;
}