BEAST - Free Software Audio Synthesizer and Tracker  0.10.0
gxktexttools.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __GXK_TEXT_TOOLS_H__
3 #define __GXK_TEXT_TOOLS_H__
4 
5 #include "gxkutils.hh"
6 
7 G_BEGIN_DECLS
8 
9 /* --- text tools flags --- */
10 typedef enum /*< skip >*/
11 {
12  GXK_SCROLL_TEXT_MONO = 0 << 0,
13  GXK_SCROLL_TEXT_SANS = 1 << 0,
14  GXK_SCROLL_TEXT_SERIF = 2 << 0,
15  GXK_SCROLL_TEXT_WRAP = 1 << 2,
16  GXK_SCROLL_TEXT_CENTER = 1 << 3,
17  GXK_SCROLL_TEXT_WIDGET_BG = 1 << 4,
18  GXK_SCROLL_TEXT_NAVIGATABLE = 1 << 5,
19  GXK_SCROLL_TEXT_EDITABLE = 1 << 6,
20  GXK_SCROLL_TEXT_HFIXED = 1 << 7,
21  GXK_SCROLL_TEXT_VFIXED = 1 << 8
22 #define GXK_SCROLL_TEXT_WIDGET_LOOK (GXK_SCROLL_TEXT_WRAP | GXK_SCROLL_TEXT_WIDGET_BG | GXK_SCROLL_TEXT_SANS)
23 } GxkScrollTextFlags;
24 
25 
26 /* --- text tools functions --- */
27 void gxk_text_view_enter_browse_mode (GtkTextView *tview);
28 void gxk_text_view_leave_browse_mode (GtkTextView *tview);
29 void gxk_text_view_cursor_to_start (GtkTextView *tview);
30 void gxk_text_view_cursor_to_end (GtkTextView *tview);
31 void gxk_text_view_cursor_normal (GtkTextView *tview);
32 void gxk_text_view_cursor_busy (GtkTextView *tview);
33 GtkWidget* gxk_scroll_text_create (GxkScrollTextFlags flags,
34  const gchar *string);
35 GtkWidget* gxk_scroll_text_create_for (GxkScrollTextFlags flags,
36  GtkWidget *parent);
37 void gxk_scroll_text_set_index (GtkWidget *sctext,
38  const gchar *uri);
39 void gxk_scroll_text_display (GtkWidget *sctext,
40  const gchar *uri);
41 void gxk_scroll_text_enter (GtkWidget *sctext,
42  const gchar *uri);
43 void gxk_scroll_text_advance (GtkWidget *sctext,
44  const gchar *uri);
45 void gxk_scroll_text_rewind (GtkWidget *sctext);
46 void gxk_scroll_text_set (GtkWidget *sctext,
47  const gchar *string);
48 void gxk_scroll_text_set_tsm (GtkWidget *sctext,
49  const gchar *string);
50 void gxk_scroll_text_clear (GtkWidget *sctext);
51 void gxk_scroll_text_push_indent (GtkWidget *sctext);
52 void gxk_scroll_text_append (GtkWidget *sctext,
53  const gchar *string);
54 void gxk_scroll_text_append_tsm (GtkWidget *sctext,
55  const gchar *string);
56 void gxk_scroll_text_append_file (GtkWidget *sctext,
57  const gchar *file_name);
58 void gxk_scroll_text_append_file_tsm (GtkWidget *sctext,
59  const gchar *file_name);
60 #define gxk_scroll_text_aprintf(sctext, ...) gxk_scroll_text_append (sctext, Rapicorn::string_format (__VA_ARGS__).c_str())
61 void gxk_scroll_text_pop_indent (GtkWidget *sctext);
62 GtkTextView* gxk_scroll_text_get_text_view (GtkWidget *sctext);
63 void gxk_text_add_tsm_path (const gchar *path);
64 void gxk_text_buffer_init_custom (void);
65 void gxk_text_buffer_cursor_to_start (GtkTextBuffer *tbuffer);
66 void gxk_text_buffer_cursor_to_end (GtkTextBuffer *tbuffer);
67 void gxk_text_buffer_append_from_string (GtkTextBuffer *tbuffer,
68  gboolean parse_tsm,
69  guint indent_margin,
70  guint text_length,
71  const gchar *text);
72 void gxk_text_buffer_append_from_file (GtkTextBuffer *tbuffer,
73  gboolean parse_tsm,
74  guint indent_margin,
75  const gchar *file_name);
76 
77 
78 /* --- special tag handlers --- */
79 typedef GtkWidget* (*GxkTextTextgetHandler) (gpointer user_data,
80  const gchar *element_name,
81  const gchar **attribute_names,
82  const gchar **attribute_values);
83 void gxk_text_register_textget_handler (const gchar *element_name,
84  GxkTextTextgetHandler handler,
85  gpointer user_data);
86 void gxk_text_buffer_add_textgets_to_view (GtkTextBuffer *tbuffer,
87  GtkTextView *tview);
88 
89 
90 G_END_DECLS
91 
92 // == Flags Enumeration Operators in C++ ==
93 #ifdef __cplusplus
94 constexpr GxkScrollTextFlags operator& (GxkScrollTextFlags s1, GxkScrollTextFlags s2) { return GxkScrollTextFlags (s1 & (long long unsigned) s2); }
95 inline GxkScrollTextFlags& operator&= (GxkScrollTextFlags &s1, GxkScrollTextFlags s2) { s1 = s1 & s2; return s1; }
96 constexpr GxkScrollTextFlags operator| (GxkScrollTextFlags s1, GxkScrollTextFlags s2) { return GxkScrollTextFlags (s1 | (long long unsigned) s2); }
97 inline GxkScrollTextFlags& operator|= (GxkScrollTextFlags &s1, GxkScrollTextFlags s2) { s1 = s1 | s2; return s1; }
98 constexpr GxkScrollTextFlags operator~ (GxkScrollTextFlags s1) { return GxkScrollTextFlags (~(long long unsigned) s1); }
99 #endif // __cplusplus
100 
101 #endif /* __GXK_TEXT_TOOLS_H__ */
void gxk_scroll_text_display(GtkWidget *sctext, const gchar *uri)
Definition: gxktexttools.cc:2017
void gxk_scroll_text_append(GtkWidget *sctext, const gchar *string)
Definition: gxktexttools.cc:1497
void gxk_scroll_text_push_indent(GtkWidget *sctext)
Definition: gxktexttools.cc:1621
void gxk_scroll_text_set_tsm(GtkWidget *sctext, const gchar *string)
Definition: gxktexttools.cc:1481
void gxk_scroll_text_set(GtkWidget *sctext, const gchar *string)
Definition: gxktexttools.cc:1464
void gxk_scroll_text_append_file(GtkWidget *sctext, const gchar *file_name)
Definition: gxktexttools.cc:1549
void gxk_scroll_text_append_file_tsm(GtkWidget *sctext, const gchar *file_name)
Definition: gxktexttools.cc:1575
void gxk_text_view_leave_browse_mode(GtkTextView *tview)
Definition: gxktexttools.cc:1142
void gxk_scroll_text_rewind(GtkWidget *sctext)
Definition: gxktexttools.cc:2134
GtkWidget * gxk_scroll_text_create(GxkScrollTextFlags flags, const gchar *string)
Definition: gxktexttools.cc:1296
void gxk_scroll_text_clear(GtkWidget *sctext)
Definition: gxktexttools.cc:1433
void gxk_scroll_text_pop_indent(GtkWidget *sctext)
Definition: gxktexttools.cc:1640
void gxk_scroll_text_set_index(GtkWidget *sctext, const gchar *uri)
Definition: gxktexttools.cc:2114
void gxk_text_view_cursor_to_start(GtkTextView *tview)
Definition: gxktexttools.cc:1158
void gxk_text_view_cursor_to_end(GtkTextView *tview)
Definition: gxktexttools.cc:1177
void gxk_scroll_text_append_tsm(GtkWidget *sctext, const gchar *string)
Definition: gxktexttools.cc:1523
GtkTextView * gxk_scroll_text_get_text_view(GtkWidget *sctext)
Definition: gxktexttools.cc:1600
void gxk_text_view_enter_browse_mode(GtkTextView *tview)
Definition: gxktexttools.cc:1124
void gxk_scroll_text_advance(GtkWidget *sctext, const gchar *uri)
Definition: gxktexttools.cc:2040
void gxk_scroll_text_enter(GtkWidget *sctext, const gchar *uri)
Definition: gxktexttools.cc:2093