BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
gxktexttools.hh
Go to the documentation of this file.
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__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines