cwidget 0.5.18
|
Code to display formatted text. More...
#include <text_layout.h>
Public Member Functions | |
bool | handle_key (const config::key &k) |
Handle the given keypress. | |
void | dispatch_mouse (short id, int x, int y, int z, mmask_t bstate) |
void | set_fragment (fragment *f) |
Change the fragment being displayed in this layout widget. | |
void | append_fragment (fragment *f) |
Append the given fragment to the current fragment. | |
int | width_request () |
Return the requested width of this widget. | |
int | height_request (int w) |
Return the requested height of this widget given its width, by running the fragment-layout algorithm. | |
bool | get_cursorvisible () |
Return true iff the cursor is visible in this widget. | |
point | get_cursorloc () |
Return the location of the cursor in this widget. | |
bool | focus_me () |
Return true iff this widget should be given focus. | |
void | paint (const style &st) |
Paint this widget. | |
void | line_down () |
Move the view one line down. | |
void | line_up () |
Move the view one line up. | |
void | move_to_top () |
Move the view to the top of the widget. | |
void | move_to_bottom () |
Move the view to the bottom of the widget. | |
void | page_down () |
Move a page forward. | |
void | page_up () |
Move a page back. | |
void | search_for (const std::wstring &s, bool search_forwards) |
Search either forwards or backwards for the string s. | |
void | scroll (bool dir) |
Page based on a scrollbar signal. | |
~text_layout () | |
Delete the root fragment. | |
![]() | |
void | incref () |
void | decref () |
void | show () |
virtual void | show_all () |
void | hide () |
void | toggle_visible () |
void | set_visible (bool _visible) |
bool | dispatch_key (const config::key &k) |
void | alloc_size (int x, int y, int w, int h) |
Set the size and location in the parent of this widget. | |
bool | get_isfocussed () |
void | set_owner (container *w) |
void | display (const style &st) |
Display this widget in the given style environment. | |
int | timeout (int msecs) |
virtual void | destroy () |
Destroys the visible representation of this widget and disconnects it from any children that it may have. | |
util::ref_ptr< container > | get_owner () |
int | get_startx () |
int | get_starty () |
int | get_width () |
int | get_height () |
bool | get_visible () |
void | sync () |
int | scroll (int n=1) |
int | addch (chtype ch) |
int | mvaddch (int y, int x, chtype ch) |
int | add_wch (wchar_t wch) |
int | add_wch (const cchar_t *cch) |
int | mvadd_wch (int y, int x, wchar_t wch) |
int | mvadd_wch (int y, int x, const cchar_t *cch) |
int | addstr (const char *str) |
int | addnstr (const char *str, int n) |
int | mvaddstr (int y, int x, const char *str) |
int | mvaddnstr (int y, int x, const char *str, int n) |
int | addstr (const wchar_t *str) |
int | addnstr (const wchar_t *str, int n) |
int | mvaddstr (int y, int x, const wchar_t *str) |
int | mvaddnstr (int y, int x, const wchar_t *str, int n) |
int | addstr (const std::wstring &str) |
int | addnstr (const std::wstring &str, int n) |
int | mvaddstr (int y, int x, const std::wstring &str) |
int | mvaddnstr (int y, int x, const std::wstring &str, int n) |
int | addstr (const wchstring &str) |
int | addnstr (const wchstring &str, int n) |
int | mvaddstr (int y, int x, const wchstring &str) |
int | mvaddnstr (int y, int x, const wchstring &str, int n) |
int | addstr (const chstring &str) |
int | addnstr (const chstring &str, int n) |
int | mvaddstr (int y, int x, const chstring &str) |
int | mvaddnstr (int y, int x, const chstring &str, int n) |
int | attroff (int attrs) |
int | attron (int attrs) |
int | attrset (int attrs) |
void | bkgdset (const chtype ch) |
int | bkgd (const chtype ch) |
chtype | getbkgd () |
int | border (chtype ls, chtype rs, chtype ts, chtype bs, chtype tl, chtype tr, chtype bl, chtype br) |
int | box (chtype verch, chtype horch) |
int | hline (chtype ch, int n) |
int | vline (chtype ch, int n) |
int | mvhline (int y, int x, chtype ch, int n) |
int | mvvline (int y, int x, chtype ch, int n) |
int | delch () |
int | mvdelch (int y, int x) |
int | deleteln () |
int | insdelln (int n) |
int | insertln () |
int | echochar (chtype ch) |
int | move (int y, int x) |
void | getyx (int &y, int &x) |
void | getbegyx (int &y, int &x) |
void | getmaxyx (int &y, int &x) |
int | getmaxy () |
int | getmaxx () |
void | show_string_as_progbar (int x, int y, const std::wstring &s, const style &st1, const style &st2, int size1, int totalsize) |
void | display_header (std::wstring s, const style &st) |
void | display_status (std::wstring s, const style &st) |
int | erase () |
int | clear () |
int | clrtobot () |
int | clrtoeol () |
int | keypad (bool bf) |
int | meta (bool bf) |
bool | enclose (int y, int x) |
void | set_opaque (bool opaque) |
Enable or disable clearing the background before displaying the widget. | |
void | set_bg_style (const style &new_style) |
Update this widget's basic style to the given value. | |
void | apply_style (const style &st) |
Set the display attributes of our associated window directly from the given style. | |
key_connection | connect_key (const std::string &key, config::keybindings *bindings, const sigc::slot0< void > &slot) |
key_connection | connect_key_post (const std::string &key, config::keybindings *bindings, const sigc::slot0< void > &slot) |
void | disconnect_key (key_connection c) |
void | disconnect_key_post (key_connection c) |
Static Public Member Functions | |
static util::ref_ptr< text_layout > | create () |
Create an empty text_layout. | |
static util::ref_ptr< text_layout > | create (fragment *f) |
Create a text_layout with the given root fragment. | |
static void | init_bindings () |
![]() | |
static void | handle_pending_deletes () |
Public Attributes | |
sigc::signal2< void, int, int > | location_changed |
A signal that is called whenever the "location" of the view within the text changes. | |
![]() | |
sigc::signal0< void > | shown_sig |
sigc::signal0< void > | hidden_sig |
sigc::signal0< void > | destroyed |
sigc::signal0< void > | do_layout |
sigc::signal0< void > | focussed |
sigc::signal0< void > | unfocussed |
Static Public Attributes | |
static config::keybindings * | bindings |
Protected Member Functions | |
text_layout (fragment *f) | |
![]() | |
cwindow | get_win () |
void | cleanup () |
Handle cleanup when the reference count goes to 0. | |
Additional Inherited Members | |
![]() | |
typedef std::list< binding_connection >::iterator | key_connection |
Code to display formatted text.
The text to display is composed of a tree of "fragments". A fragment stores some amount of text; at any time, it can be formatted to a particular width. The main layout mechanisms provided are flowboxes and clipboxes: flowboxes word-wrap their contents to a particular width, while clipboxes clip their contents to a particular width. These boxes can be nested, if the user feels like it for some reason or other, although some nestings are non-sensical (for instance, placing a flowbox inside a smaller flowbox is likely to lead to really ugly text).
This provides some primitive layout mechanisms; higher-level layouts can be expressed in terms of these.
void cwidget::widgets::text_layout::append_fragment | ( | fragment * | f | ) |
Append the given fragment to the current fragment.
|
inlinestatic |
Create a text_layout with the given root fragment.
All fragments are implicitly placed within a clipbox of width equal to the width of this widget.
|
virtual |
Reimplemented from cwidget::widgets::widget.
|
virtual |
Return true iff this widget should be given focus.
This widget can get focus if it can scroll: ie, if its contents take up more lines than it was allocated.
Reimplemented from cwidget::widgets::widget.
|
virtual |
Return the location of the cursor in this widget.
The cursor is always located in the upper-left-hand corner.
Implements cwidget::widgets::widget.
|
virtual |
Return true iff the cursor is visible in this widget.
Implements cwidget::widgets::widget.
|
virtual |
Handle the given keypress.
Returns true if the keystroke was "consumed" by this widget.
Reimplemented from cwidget::widgets::widget.
|
virtual |
Return the requested height of this widget given its width, by running the fragment-layout algorithm.
Implements cwidget::widgets::widget.
|
virtual |
Paint this widget.
Paint by refreshing the contents [if necessary], then drawing, starting from the current line.
Implements cwidget::widgets::widget.
void cwidget::widgets::text_layout::scroll | ( | bool | dir | ) |
Page based on a scrollbar signal.
dir | the direction to page: if true, call page_up(); else call page_down(). |
void cwidget::widgets::text_layout::search_for | ( | const std::wstring & | s, |
bool | search_forwards ) |
Search either forwards or backwards for the string s.
The search will start on either the next or the previous line from the top of the screen.
|
virtual |
Return the requested width of this widget.
The requested width will be the largest possible width of any line.
Implements cwidget::widgets::widget.