BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
00001 // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html 00002 #ifndef __GXK_TEXT_TOOLS_H__ 00003 #define __GXK_TEXT_TOOLS_H__ 00004 00005 #include "gxkutils.hh" 00006 00007 G_BEGIN_DECLS 00008 00009 /* --- text tools flags --- */ 00010 typedef enum /*< skip >*/ 00011 { 00012 GXK_SCROLL_TEXT_MONO = 0 << 0, 00013 GXK_SCROLL_TEXT_SANS = 1 << 0, 00014 GXK_SCROLL_TEXT_SERIF = 2 << 0, 00015 GXK_SCROLL_TEXT_WRAP = 1 << 2, 00016 GXK_SCROLL_TEXT_CENTER = 1 << 3, 00017 GXK_SCROLL_TEXT_WIDGET_BG = 1 << 4, 00018 GXK_SCROLL_TEXT_NAVIGATABLE = 1 << 5, 00019 GXK_SCROLL_TEXT_EDITABLE = 1 << 6, 00020 GXK_SCROLL_TEXT_HFIXED = 1 << 7, 00021 GXK_SCROLL_TEXT_VFIXED = 1 << 8 00022 #define GXK_SCROLL_TEXT_WIDGET_LOOK (GXK_SCROLL_TEXT_WRAP | GXK_SCROLL_TEXT_WIDGET_BG | GXK_SCROLL_TEXT_SANS) 00023 } GxkScrollTextFlags; 00024 00025 00026 /* --- text tools functions --- */ 00027 void gxk_text_view_enter_browse_mode (GtkTextView *tview); 00028 void gxk_text_view_leave_browse_mode (GtkTextView *tview); 00029 void gxk_text_view_cursor_to_start (GtkTextView *tview); 00030 void gxk_text_view_cursor_to_end (GtkTextView *tview); 00031 void gxk_text_view_cursor_normal (GtkTextView *tview); 00032 void gxk_text_view_cursor_busy (GtkTextView *tview); 00033 GtkWidget* gxk_scroll_text_create (GxkScrollTextFlags flags, 00034 const gchar *string); 00035 GtkWidget* gxk_scroll_text_create_for (GxkScrollTextFlags flags, 00036 GtkWidget *parent); 00037 void gxk_scroll_text_set_index (GtkWidget *sctext, 00038 const gchar *uri); 00039 void gxk_scroll_text_display (GtkWidget *sctext, 00040 const gchar *uri); 00041 void gxk_scroll_text_enter (GtkWidget *sctext, 00042 const gchar *uri); 00043 void gxk_scroll_text_advance (GtkWidget *sctext, 00044 const gchar *uri); 00045 void gxk_scroll_text_rewind (GtkWidget *sctext); 00046 void gxk_scroll_text_set (GtkWidget *sctext, 00047 const gchar *string); 00048 void gxk_scroll_text_set_tsm (GtkWidget *sctext, 00049 const gchar *string); 00050 void gxk_scroll_text_clear (GtkWidget *sctext); 00051 void gxk_scroll_text_push_indent (GtkWidget *sctext); 00052 void gxk_scroll_text_append (GtkWidget *sctext, 00053 const gchar *string); 00054 void gxk_scroll_text_append_tsm (GtkWidget *sctext, 00055 const gchar *string); 00056 void gxk_scroll_text_append_file (GtkWidget *sctext, 00057 const gchar *file_name); 00058 void gxk_scroll_text_append_file_tsm (GtkWidget *sctext, 00059 const gchar *file_name); 00060 #define gxk_scroll_text_aprintf(sctext, ...) gxk_scroll_text_append (sctext, Rapicorn::string_format (__VA_ARGS__).c_str()) 00061 void gxk_scroll_text_pop_indent (GtkWidget *sctext); 00062 GtkTextView* gxk_scroll_text_get_text_view (GtkWidget *sctext); 00063 void gxk_text_add_tsm_path (const gchar *path); 00064 void gxk_text_buffer_init_custom (void); 00065 void gxk_text_buffer_cursor_to_start (GtkTextBuffer *tbuffer); 00066 void gxk_text_buffer_cursor_to_end (GtkTextBuffer *tbuffer); 00067 void gxk_text_buffer_append_from_string (GtkTextBuffer *tbuffer, 00068 gboolean parse_tsm, 00069 guint indent_margin, 00070 guint text_length, 00071 const gchar *text); 00072 void gxk_text_buffer_append_from_file (GtkTextBuffer *tbuffer, 00073 gboolean parse_tsm, 00074 guint indent_margin, 00075 const gchar *file_name); 00076 00077 00078 /* --- special tag handlers --- */ 00079 typedef GtkWidget* (*GxkTextTextgetHandler) (gpointer user_data, 00080 const gchar *element_name, 00081 const gchar **attribute_names, 00082 const gchar **attribute_values); 00083 void gxk_text_register_textget_handler (const gchar *element_name, 00084 GxkTextTextgetHandler handler, 00085 gpointer user_data); 00086 void gxk_text_buffer_add_textgets_to_view (GtkTextBuffer *tbuffer, 00087 GtkTextView *tview); 00088 00089 00090 G_END_DECLS 00091 00092 // == Flags Enumeration Operators in C++ == 00093 #ifdef __cplusplus 00094 constexpr GxkScrollTextFlags operator& (GxkScrollTextFlags s1, GxkScrollTextFlags s2) { return GxkScrollTextFlags (s1 & (long long unsigned) s2); } 00095 inline GxkScrollTextFlags& operator&= (GxkScrollTextFlags &s1, GxkScrollTextFlags s2) { s1 = s1 & s2; return s1; } 00096 constexpr GxkScrollTextFlags operator| (GxkScrollTextFlags s1, GxkScrollTextFlags s2) { return GxkScrollTextFlags (s1 | (long long unsigned) s2); } 00097 inline GxkScrollTextFlags& operator|= (GxkScrollTextFlags &s1, GxkScrollTextFlags s2) { s1 = s1 | s2; return s1; } 00098 constexpr GxkScrollTextFlags operator~ (GxkScrollTextFlags s1) { return GxkScrollTextFlags (~(long long unsigned) s1); } 00099 #endif // __cplusplus 00100 00101 #endif /* __GXK_TEXT_TOOLS_H__ */