/*
* Bluefish HTML Editor
* htmlbar_uimanager.c
*
* Copyright (C) 2005-2012 Olivier Sessink
* Copyright (C) 2011-2012 James Hayward
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
/*#define DEBUG*/
#include "htmlbar_uimanager.h"
#include "../bluefish.h"
#include "../bfwin_uimanager.h"
#include "../document.h"
#include "../stringlist.h"
#include "cap.h"
#include "html.h"
#include "html2.h"
#include "htmlbar_stock_icons.h"
#include "html_form.h"
#include "html_table.h"
#include "image.h"
#include "image_dialog.h"
#include "rpopup.h"
#include "quickstart.h"
#include "wizards.h"
#define HTMLBAR_PIXMAP_DIR PKGDATADIR"/plugins/htmlbar/pixmaps/"
#define HTMLBAR_MENU_UI PKGDATADIR"/plugins/htmlbar/ui/htmlbar_menu_ui.xml"
/*#define HTMLBAR_TOOLBAR_UI PKGDATADIR"/plugins/htmlbar/ui/htmlbar_toolbar_ui.xml"*/ /* menu and toolbar are merged into one file now */
#include "pixmaps/htmlbar_icons.c"
/* For testing purposes */
/*#define HTMLBAR_MENU_UI "src/plugin_htmlbar/ui/htmlbar_menu_ui.xml"
*/
static void
htmlbar_edit_tag_under_cursor(GtkAction * action, gpointer user_data)
{
edit_tag_under_cursor_cb(BFWIN(user_data));
}
static void
htmlbar_dialog_anchor(GtkAction * action, gpointer user_data)
{
quickanchor_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_basefont(GtkAction * action, gpointer user_data)
{
basefont_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_body(GtkAction * action, gpointer user_data)
{
body_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_script(GtkAction * action, gpointer user_data)
{
script_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_color(GtkAction * action, gpointer user_data)
{
sel_colour_cb(NULL, BFWIN(user_data));
}
static void
htmlbar_dialog_div(GtkAction * action, gpointer user_data)
{
div_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_columns(GtkAction * action, gpointer user_data)
{
columns_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_email(GtkAction * action, gpointer user_data)
{
email_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_embed(GtkAction * action, gpointer user_data)
{
embed_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_font(GtkAction * action, gpointer user_data)
{
font_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_form(GtkAction * action, gpointer user_data)
{
formdialog_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_form_button(GtkAction * action, gpointer user_data)
{
buttondialog_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_form_check_box(GtkAction * action, gpointer user_data)
{
inputdialog_dialog(BFWIN(user_data), NULL, "checkbox");
}
static void
htmlbar_dialog_form_hidden(GtkAction * action, gpointer user_data)
{
inputdialog_dialog(BFWIN(user_data), NULL, "hidden");
}
static void
htmlbar_dialog_form_input(GtkAction * action, gpointer user_data)
{
inputdialog_dialog(BFWIN(user_data), NULL, NULL);
}
static void
htmlbar_dialog_form_input_buttons(GtkAction * action, gpointer user_data)
{
inputdialog_dialog(BFWIN(user_data), NULL, "submit");
}
static void
htmlbar_dialog_form_input_text(GtkAction * action, gpointer user_data)
{
inputdialog_dialog(BFWIN(user_data), NULL, "text");
}
static void
htmlbar_dialog_form_option(GtkAction * action, gpointer user_data)
{
optiondialog_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_form_option_group(GtkAction * action, gpointer user_data)
{
optgroupdialog_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_form_radio_button(GtkAction * action, gpointer user_data)
{
inputdialog_dialog(BFWIN(user_data), NULL, "radio");
}
static void
htmlbar_dialog_form_select(GtkAction * action, gpointer user_data)
{
selectdialog_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_form_textarea(GtkAction * action, gpointer user_data)
{
textareadialog_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_frame(GtkAction * action, gpointer user_data)
{
frame_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_frameset(GtkAction * action, gpointer user_data)
{
frameset_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_frame_wizard(GtkAction * action, gpointer user_data)
{
framewizard_dialog(BFWIN(user_data));
}
static void
htmlbar_dialog_image(GtkAction * action, gpointer user_data)
{
bluefish_image_dialog_new(BFWIN(user_data));
}
static void
htmlbar_dialog_link_header(GtkAction * action, gpointer user_data)
{
linkdialog_dialog(BFWIN(user_data), NULL, linkdialog_mode_default);
}
static void
htmlbar_dialog_meta(GtkAction * action, gpointer user_data)
{
meta_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_multi_thumbnail(GtkAction * action, gpointer user_data)
{
multi_thumbnail_dialog(BFWIN(user_data));
}
static void
htmlbar_dialog_rule(GtkAction * action, gpointer user_data)
{
quickrule_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_span(GtkAction * action, gpointer user_data)
{
span_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_misc_style(GtkAction * action, gpointer user_data)
{
gchar *tmp = g_strdup_printf("<%s=\"text/css\">"));
g_free(tmp);
}
static void
htmlbar_dialog_style_create(GtkAction * action, gpointer user_data)
{
new_css_dialog(NULL, BFWIN(user_data));
}
static void
htmlbar_dialog_style_link_to(GtkAction * action, gpointer user_data)
{
linkdialog_dialog(BFWIN(user_data), NULL, linkdialog_mode_css);
}
static void
htmlbar_dialog_table(GtkAction * action, gpointer user_data)
{
tabledialog_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_table_data(GtkAction * action, gpointer user_data)
{
tabledatadialog_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_table_head(GtkAction * action, gpointer user_data)
{
tableheaddialog_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_table_row(GtkAction * action, gpointer user_data)
{
tablerowdialog_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_table_wizard(GtkAction * action, gpointer user_data)
{
tablewizard_dialog(BFWIN(user_data));
}
static void
htmlbar_dialog_thumbnail(GtkAction * action, gpointer user_data)
{
thumbnail_insert_dialog(BFWIN(user_data));
}
static void
htmlbar_dialog_time(GtkAction * action, gpointer user_data)
{
insert_time_dialog(BFWIN(user_data));
}
static void
htmlbar_dialog_quicklist(GtkAction * action, gpointer user_data)
{
quicklist_dialog(BFWIN(user_data), NULL);
}
static void
htmlbar_dialog_quickstart(GtkAction * action, gpointer user_data)
{
quickstart_dialog_new(BFWIN(user_data));
}
static void
htmlbar_insert_html_comment(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, "");
}
static void
htmlbar_insert_abbr_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap(""));
}
static void
htmlbar_insert_acronym_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap(""));
}
static void
htmlbar_insert_align_right_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap("
"), cap("
"));
}
static void
htmlbar_insert_anchor_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""));
}
static void
htmlbar_insert_big_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap(""));
}
static void
htmlbar_insert_bold_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap(""));
}
static void
htmlbar_insert_break_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document,
get_curlang_option_value(BFWIN(user_data), self_close_singleton_tags) ? cap("
") : cap("
"), NULL);
}
static void
htmlbar_insert_center_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap("
"));
}
static void
htmlbar_insert_citation_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap(""));
}
static void
htmlbar_insert_clearall_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document,
get_curlang_option_value(BFWIN(user_data), self_close_singleton_tags) ? cap("
") : cap("
"),
NULL);
}
static void
htmlbar_insert_code_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap("
"));
}
static void
htmlbar_insert_define_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap(""));
}
static void
htmlbar_insert_definition_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap(""));
}
static void
htmlbar_insert_definition_list_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap("\n\t\n\t\n
"),
"\n");
}
static void
htmlbar_insert_definition_term_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap(""));
}
static void
htmlbar_insert_delete_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap(""));
}
static void
htmlbar_insert_div_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap("
"));
}
static void
htmlbar_insert_emphasis_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap(""));
}
static void
htmlbar_insert_font_minus_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap(""));
}
static void
htmlbar_insert_font_plus_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""), cap(""));
}
static void
htmlbar_insert_form_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""));
}
static void
htmlbar_insert_form_fieldset_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap(""));
}
static void
htmlbar_insert_form_legend_tag(GtkAction * action, gpointer user_data)
{
doc_insert_two_strings(BFWIN(user_data)->current_document, cap("