⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wmain.hh

📁 Click is a modular router toolkit. To use it you ll need to know how to compile and install the sof
💻 HH
字号:
#ifndef CLICKY_WMAIN_HH#define CLICKY_WMAIN_HH 1#include "crouter.hh"class VariableEnvironment;namespace clicky {class whandler;class wdiagram;class wmain : public crouter { public:    wmain(bool show_toolbar, bool show_list, gint width = -1, gint height = -1);    ~wmain();    void clear(bool alive);    void show();    void set_save_file(const String &savefile, bool loading);    wdiagram *diagram() const {	return _diagram;    }    whandler *handlers() const {	return _handlers;    }    bool show_list() const {	return _show_list;    }    void set_show_list(bool show_list);    bool show_toolbar() const {	return _show_toolbar;    }    void set_show_toolbar(bool show_toolbar);    // GTK properties    GtkWindow *window() const {	return GTK_WINDOW(_window);    }    PangoAttrList *bold_attr() const {	return _bold_attr;    }    PangoAttrList *small_attr() const {	return _small_attr;    }    PangoAttrList *small_bold_attr() const {	return _small_bold_attr;    }    GtkTextTagTable *binary_tag_table() const {	return _binary_tag_table;    }    GtkTextTag *binary_tag() const {	return _binary_tag;    }    // not really public    void on_landmark_changed();    void on_ccss_changed();    LexerTInfo *on_config_changed_prepare();    void on_config_changed(bool replace, LexerTInfo *linfo);    void on_throbber_changed(bool show);    void on_error(bool replace, const String &dialog);    void on_handler_create(handler_value *hv, bool was_empty);    void on_handler_read(const String &hname, const String &hparam,			 const String &hvalue,			 int status, messagevector &messages);    void on_handler_read(handler_value *hv, bool changed);    void on_handler_write(const String &hname, const String &hvalue,			  int status, messagevector &messages);    void on_handler_check_write(const String &hname,				int status, messagevector &messages);    void on_open_file();    void on_open_socket();    void on_open_kernel();    void on_save_file(bool save_as);    void on_export_diagram();    void on_config_changed();    void config_set_driver(int driver);    void config_check(bool install);    const String &element_showing() const {	return _eview_name;    }    void element_show(String ename, int expand, bool incremental);    void set_diagram_mode(bool diagram);    gboolean error_view_event(GdkEvent *event);    gboolean error_tag_event(GtkTextTag *tag, GObject *event_object,			     GdkEvent *event, GtkTextIter *pos);    void on_error_scroll_timeout();    void repaint(const rectangle &rect);    void repaint_if_visible(const rectangle &rect, double dimen);    void element_tree_sort(int state);    gboolean csocket_event(GIOCondition);    enum { elist_sort_none = 0, elist_sort_name, elist_sort_class };    struct element_lister {	String compound;	String name;	ElementT *element;    };  private:    // router    String _savefile;    static String last_savefile;    // UI features    GtkWidget *_window;    bool _show_toolbar;    PangoAttrList *_small_attr;    PangoAttrList *_bold_attr;    PangoAttrList *_small_bold_attr;    GtkWidget *_config_view;    GtkTextBuffer *_config_buffer;    bool _config_clean_errors;    bool _config_clean_elements;    GtkWidget *_error_view;    GtkTextBuffer *_error_buffer;    GtkTextTag *_error_hover_tag;    GtkTextTag *_error_highlight_tag;    int _error_endpos;    int _error_hover_index;    GtkTextTag *_config_error_highlight_tag;    int _error_highlight_index;    gdouble _error_highlight_x;    gdouble _error_highlight_y;    guint _error_scroller;    bool _show_list;    GtkTreeView *_elist_view;    GtkTreeStore *_elist_store;    int _elist_sort;    GtkTextTag *_config_element_highlight_tag;    ElementT *_element_highlight;    String _eview_name;    // configuration    gulong _config_changed_signal;    GtkTextTagTable *_binary_tag_table;    mutable GtkTextTag *_binary_tag;    GdkCursor *_normal_cursor;    GdkCursor *_link_cursor;    // subsystems    whandler *_handlers;    wdiagram *_diagram;    void dialogs_connect();    static void fill_elements(RouterT *r, const String &compound, bool only_primitive, const VariableEnvironment &scope, Vector<element_lister> &v);    Vector<element_lister>::iterator fill_elements_tree_store_helper(GtkTreeStore *store, GtkTreeIter *parent, Vector<element_lister>::iterator it, Vector<element_lister>::iterator end);    void fill_elements_tree_store(GtkTreeStore *treestore, RouterT *r);    void etree_fill();    bool error_view_motion_offsets(int off1, int off2, int index);    bool error_view_motion_position(gint x, gint y);    void error_unhighlight();    void element_unhighlight();    void config_choose_driver();    void config_changed_initialize(bool check, bool save);    friend class whandler;    friend class wdiagram;};}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -