cgv
|
namespace that holds the abstract gui interface More...
Classes | |
class | abst_control |
gui and type independent base class of all controls More... | |
struct | abst_control_provider |
type independent base class of control provider interface More... | |
class | abst_view |
type independent &base class of all views More... | |
class | animation |
class | animation_manager |
class | application |
the application class is only a container for static methods that give access to the windows of the application More... | |
struct | arrow_render_style_gui_creator |
class | base_provider |
class | base_provider_generator |
struct | box_render_style_gui_creator |
struct | box_wire_render_style_gui_creator |
class | button |
gui independent button class that provides a click signal More... | |
struct | button_mapping |
class | choice_event |
class to represent choice events that include focus change and selection change events More... | |
struct | clod_point_render_style_gui_creator |
struct | command_info |
struct | cone_render_style_gui_creator |
class | control |
struct | control_provider |
class | dialog |
use this class to construct and execute a modal dialog. More... | |
class | directory_helper |
A convenience class that provides a directory input gui control. More... | |
struct | ellipsoid_render_style_gui_creator |
class | event |
class | event_handler |
interface for all classes that want to receive events More... | |
class | file_helper |
A convenience class that provides a file input gui control. More... | |
class | gamepad_key_event |
gamepad key events use the key codes defined in gamepad::GamepadKeys More... | |
class | gamepad_server |
class | gamepad_stick_event |
gamepad extension of stick events More... | |
class | gamepad_throttle_event |
gamepad extension of throttle events More... | |
class | geometric_blend_animation |
struct | group_render_style_gui_creator |
struct | gui_creator |
interface for gui creators More... | |
class | gui_creator_registration |
helper template for registration of gui creators More... | |
class | gui_driver |
abstract base class for gui drivers More... | |
class | gui_group |
gui independent group class which is a container for gui elements More... | |
class | help_menu_entry |
derive from this class to provide a menu entry that can open a seperate window showing help information More... | |
struct | help_menu_entry_registration |
convenience class to register a factory of the given class type that must be derived from cgv::gui::help_menu_entry More... | |
class | help_message |
class | key_control |
class | key_control< bool > |
class | key_event |
class to represent all possible keyboard events with the EID_KEY More... | |
class | layout |
struct | layout_dir_spacing |
class | layout_inline |
struct | layout_spacings |
class | layout_table |
struct | layout_table_cell |
struct | line_render_style_gui_creator |
class | linear_blend_animation |
class | menu_provider |
derive from this class to provide a gui to the current viewer More... | |
struct | monitor_description |
monitor description More... | |
class | mouse_event |
class to represent all possible mouse events with the EID_MOUSE More... | |
struct | normal_render_style_gui_creator |
struct | point_render_style_gui_creator |
class | pose_event |
class to represent all pose events from tracking systems with the EID_POSE More... | |
struct | priority |
class | property_string |
A convenience class for compiling strings of delimited key-value pairs useful for defining GUI control options. More... | |
class | provider |
derive from this class to provide a gui to the current viewer More... | |
struct | rectangle_render_style_gui_creator |
class | resizable |
class | rotation_animation |
class | shortcut |
the shortcut class encapsulates a key with modifiers More... | |
struct | slab_render_style_gui_creator |
class | slerp_animation |
struct | sphere_render_style_gui_creator |
struct | spline_tube_render_style_gui_creator |
class | stick_event |
class to represent stick events with the EID_STICK More... | |
class | subprovider |
derive from this class to use a provider from another viewer More... | |
struct | surface_render_style_gui_creator |
struct | surfel_render_style_gui_creator |
class | text_editor |
abstract base class for text editors More... | |
struct | text_editor_callback_handler |
implement this interface to interact with the text editor More... | |
struct | text_style |
description of a text style More... | |
class | theme_info |
class | theme_observer |
class | throttle_event |
class to represent events that inform on a change in a one axis controller with the EID_THROTTLE More... | |
class | trigger |
a trigger provides callbacks after a programmable time delay More... | |
class | trigger_server |
class | value_animation |
class | view |
class for gui elements that view values of the type specified in the template argument More... | |
struct | volume_render_style_gui_creator |
class | vr_calibration |
vr key events use the key codes defined in vr::VRKeys More... | |
class | vr_event_extension |
interface common to vr events More... | |
class | vr_key_event |
vr key events use the key codes defined in vr::VRKeys More... | |
class | vr_pose_event |
vr extension of pose events More... | |
class | vr_server |
server for vr events More... | |
class | vr_stick_event |
vr extension of stick event More... | |
class | vr_throttle_event |
vr extension of throttle event More... | |
class | window |
gui independent window class More... | |
struct | with_index_struct |
helper struct to support value references as well as value references with index More... | |
struct | with_index_traits |
struct | with_index_traits< with_index_struct< T > > |
Typedefs | |
typedef cgv::data::ref_ptr< animation, true > | animation_ptr |
typedef cgv::data::ref_ptr< base_provider > | base_provider_ptr |
typedef data::ref_ptr< button > | button_ptr |
ref counted pointer to button | |
typedef data::ref_ptr< abst_control > | control_ptr |
ref counted pointer to abst control | |
typedef data::ref_ptr< gui_driver > | gui_driver_ptr |
ref counted pointer to driver | |
typedef data::ref_ptr< gui_group, true > | gui_group_ptr |
ref counted pointer to a gui group | |
typedef data::ref_ptr< const gui_group, true > | const_gui_group_ptr |
ref counted pointer to const gui group | |
typedef cgv::data::ref_ptr< layout > | layout_ptr |
ref counted pointer to layout | |
typedef cgv::data::ref_ptr< layout_inline > | layout_inline_ptr |
ref counted pointer to table layout | |
typedef cgv::data::ref_ptr< layout_table > | layout_table_ptr |
ref counted pointer to table layout | |
typedef data::ref_ptr< text_editor > | text_editor_ptr |
ref counted pointer to abst control | |
typedef data::ref_ptr< trigger_server > | trigger_server_ptr |
ref counted pointer to trigger server | |
typedef data::ref_ptr< abst_view > | view_ptr |
ref counted pointer to abst view | |
typedef data::ref_ptr< window > | window_ptr |
ref counted pointer to &window | |
typedef data::ref_ptr< const window > | const_window_ptr |
ref counted pointer to const window | |
Enumerations | |
enum | VREventTypeFlags { VRE_NONE = 0 , VRE_DEVICE = 1 , VRE_STATUS = 2 , VRE_KEY = 4 , VRE_ONE_AXIS = 8 , VRE_TWO_AXES = 16 , VRE_ONE_AXIS_GENERATES_KEY =32 , VRE_TWO_AXES_GENERATES_DPAD = 64 , VRE_POSE = 128 , VRE_ALL = 255 } |
flags to define which events should be generated by server More... | |
enum | VRFocus { VRF_RELEASED = 0 , VRF_GRAB = 1 , VRF_EXCLUSIVE = 2 , VRF_GRAB_EXCLUSIVE = 3 , VRF_PERMANENT = 4 , VRF_GRAB_PERMANENT = 5 , VRF_GRAB_PERMANENT_AND_EXCLUSIVE = 7 } |
different types of event focus grabbing More... | |
enum | AnimationParameterMapping { APM_LINEAR = -3 , APM_SIN_SQUARED = -2 , APM_CUBIC = -1 } |
enum | CommandId { CMD_WINDOW , CMD_GROUP , CMD_ALIGN , CMD_DECORATOR , CMD_BUTTON , CMD_VIEW , CMD_CONTROL , CMD_TREE_NODE , CMD_LAST } |
enum | ChoiceEventType { CET_GRAB_FOCUS , CET_LOOSE_FOCUS , CET_SELECTED , CET_UNSELECTED } |
different choice event types More... | |
enum | EventId { EID_NONE , EID_KEY , EID_MOUSE , EID_THROTTLE , EID_STICK , EID_POSE , EID_CHOICE , EID_APPROACH , EID_ACTION , EID_LIFETIME } |
define the ids of the most common events More... | |
enum | EventFlags { EF_NONE = 0 , EF_MULTI = 1 , EF_DND = 2 , EF_PAD = 4 , EF_VR = 8 , EF_NUI = 16 } |
flags More... | |
enum | EventModifier { EM_SHIFT = 1 , EM_ALT = 2 , EM_CTRL = 4 , EM_META = 8 } |
define constants for event modifiers More... | |
enum | EventToggleKeys { ETK_CAPS_LOCK = 1 , ETK_NUM_LOCK = 2 , ETK_SCROLL_LOCK = 4 } |
define constants for toggle keys More... | |
enum | KeyAction { KA_RELEASE , KA_PRESS , KA_REPEAT } |
different actions that a key can perform More... | |
enum | layout_hint { LH_HSHRINK = 1<<0 , LH_HEXPAND = 1<<1 , LH_HFILL = 1<<2 , LH_LEFT = 1<<3 , LH_CENTER = 1<<4 , LH_RIGHT = 1<<5 , LH_VSHRINK = 1<<6 , LH_VEXPAND = 1<<7 , LH_VFILL = 1<<8 , LH_TOP = 1<<9 , LH_MIDDLE = 1<<10 , LH_BOTTOM = 1<<11 , LH_HHINTS = 0 , LH_VHINTS = 6 } |
Allowed hints: s - horizontal shrink S - vertical shrink x - horizontal expand X - vertical expand f - horizontal fill F - vertical fill l - align left r - align right c - align centered t - align top b - align bottom m - align middle (between top and bottom) More... | |
enum | MouseAction { MA_PRESS , MA_RELEASE , MA_WHEEL , MA_MOVE , MA_DRAG , MA_ENTER , MA_LEAVE } |
different actions that a mouse can perform More... | |
enum | MouseButton { MB_NO_BUTTON = 0 , MB_LEFT_BUTTON = 1 , MB_MIDDLE_BUTTON = 2 , MB_RIGHT_BUTTON = 4 } |
different mouse buttons that can be ored together to specify the button state More... | |
enum | Keys { KEY_F1 = 256 , KEY_F2 , KEY_F3 , KEY_F4 , KEY_F5 , KEY_F6 , KEY_F7 , KEY_F8 , KEY_F9 , KEY_F10 , KEY_F11 , KEY_F12 , KEY_Space , KEY_Enter , KEY_Tab , KEY_Print , KEY_Pause , KEY_Break , KEY_Escape , KEY_Left_Shift , KEY_Right_Shift , KEY_Left_Alt , KEY_Right_Alt , KEY_Left_Ctrl , KEY_Right_Ctrl , KEY_Left_Meta , KEY_Right_Meta , KEY_Left , KEY_Right , KEY_Up , KEY_Down , KEY_Home , KEY_End , KEY_Page_Up , KEY_Page_Down , KEY_Back_Space , KEY_Delete , KEY_Insert , KEY_Caps_Lock , KEY_Num_Lock , KEY_Scroll_Lock , KEY_Num_0 , KEY_Num_1 , KEY_Num_2 , KEY_Num_3 , KEY_Num_4 , KEY_Num_5 , KEY_Num_6 , KEY_Num_7 , KEY_Num_8 , KEY_Num_9 , KEY_Num_Div , KEY_Num_Mul , KEY_Num_Sub , KEY_Num_Add , KEY_Num_Dot , KEY_Num_Enter , KEY_Last } |
define the names of special keys More... | |
enum | StickAction { SA_TOUCH , SA_PRESS , SA_UNPRESS , SA_RELEASE , SA_MOVE , SA_DRAG } |
different actions that a stick can perform More... | |
enum | GamepadEventTypeFlags { GPE_NONE = 0 , GPE_DEVICE = 1 , GPE_KEY = 2 , GPE_THROTTLE = 4 , GPE_STICK = 8 , GPE_STICK_KEY = 16 , GPE_ALL = 31 } |
flags to define which events should be generated by server More... | |
Functions | |
vr_calibration & | ref_vr_calibration () |
access to singleton object of vr_calibration class | |
bool | array_unequal (const float *a1, const float *a2, unsigned n) |
vr_server & | ref_vr_server () |
return a reference to gamepad server singleton | |
window_ptr & | ref_dispatch_window_pointer_vr () |
bool | dispatch_vr_event (cgv::gui::event &e) |
void | connect_vr_server (bool connect_device_change_only_to_animation_trigger, cgv::gui::window_ptr w) |
connect the gamepad server to the given window or the first window of the application, if window is not provided | |
animation_manager & | ref_animation_manager () |
void | add_animation (animation_ptr a_ptr, bool terminate_other_animations) |
template<typename T > | |
animation_ptr | animate_with_linear_blend (T &value, const T &target_value, double duration_sec, double delay_sec=0.0f, bool terminate_other_animations=true) |
template<typename T > | |
animation_ptr | animate_with_geometric_blend (T &value, const T &target_value, double duration_sec, double delay_sec=0.0f, bool terminate_other_animations=true) |
template<typename T > | |
animation_ptr | animate_with_slerp (T &value, const T &target_value, double duration_sec, double delay_sec=0.0f, bool terminate_other_animations=true) |
template<typename T > | |
animation_ptr | animate_with_rotation (cgv::math::fvec< T, 3 > &value, const cgv::math::fvec< T, 3 > &target_value, double duration_sec, double delay_sec=0.0f, bool terminate_other_animations=true) |
template<typename T > | |
animation_ptr | animate_with_axis_rotation (cgv::math::fvec< T, 3 > &value, const cgv::math::fvec< T, 3 > &axis, T angle, double duration_sec, double delay_sec=0.0f, bool terminate_other_animations=true) |
const command_info * | get_command_infos () |
std::string | error_start (const std::string &content, const token &T) |
std::string | get_choice_type_string (ChoiceEventType type) |
convert a choice event type into a readable string | |
std::map< const void *, abst_view * > & | ref_view_map () |
void | update_views (void *member_ptr) |
void | message (const std::string &_message) |
tell the user something with a message box | |
int | question (const std::string &_question, const std::vector< std::string > &answers, int default_answer) |
ask the user with question to select one of the answers , where default_answer specifies index of default answer | |
int | question (const std::string &_question, const std::string &answers, int default_answer) |
second question interface, where answers is a comma seprated list of enum declaration | |
bool | query (const std::string &question, std::string &text, bool password=false) |
query the user for a text, where the second parameter is the default text as well as the returned text. | |
std::string | get_modifier_string (EventModifier modifiers) |
convert a modifier combination into a readable string ending on a '+' sign if not empty, i.e. "Shift+Ctrl+" | |
std::string | get_toggle_keys_string (EventToggleKeys toggle_keys) |
convert a toggle key combination into a readable string separated by '+' signs, i.e. "CapsLock+NumLock" | |
unsigned char | stream_in_toggle_keys (std::istream &is) |
unsigned char | stream_in_modifier (std::istream &is) |
unsigned char | stream_in_modifiers (std::istream &is) |
read modifiers in string format from a stream and set the passed reference to EventModifier s ored together. | |
unsigned char & | ref_current_modifiers () |
read out the current modifiers | |
CGV_API void | stream_in_toggle_keys (std::istream &is, unsigned char &toggle_keys) |
read toggle keys in string format from a stream and set the passed reference to EventToggleKeys ored together. | |
std::string | file_open_dialog (const std::string &title, const std::string &filter, const std::string &path="") |
ask the user for a file name to open a file. | |
std::string | directory_open_dialog (const std::string &title, const std::string &path) |
ask the user for an existing directory. | |
std::string | directory_save_dialog (const std::string &title, const std::string &path) |
ask the user for a new directory. | |
std::string | files_open_dialog (std::vector< std::string > &file_names, const std::string &title, const std::string &filter, const std::string &path) |
ask user for an open dialog that can select multiple files, return common path prefix and fill field of filenames | |
std::string | file_save_dialog (const std::string &title, const std::string &filter, const std::string &path="") |
ask the user for a file name to save a file. | |
std::vector< gui_creator * > & | ref_gui_creators () |
void | register_gui_creator (gui_creator *gc, const char *creator_name) |
register a gui creator | |
bool | create_gui (provider *p, const std::string &label, void *value_ptr, const std::string &value_type, const std::string &gui_type, const std::string &options, bool *toggles) |
create the gui for a composed structure | |
gui_driver_ptr & | ref_gui_driver () |
gui_driver_ptr | get_gui_driver () |
return the currently registered gui driver or an empty pointer if non has been registered | |
void | register_gui_driver (gui_driver_ptr _driver) |
register a new gui driver. | |
cgv::signal::signal< gui_driver_ptr > & | on_gui_driver_registration () |
a signal that is emitted when a gui driver is registered | |
std::string | get_key_action_string (KeyAction action) |
convert a key action into a readable string | |
std::map< std::string, layout_spacings > & | ref_spacings () |
const layout_spacings & | get_layout_spacings (std::string name) |
void | add_layout_spacings (const layout_spacings &new_spacings) |
void | remove_layout_spacings (const std::string &name) |
void | update_group_members (cgv::base::group_ptr gp) |
std::map< std::pair< const void *, int >, bool > & | get_tree_node_toggle_map () |
std::set< provider * > & | ref_providers () |
void | trigger_callback (double, double) |
trigger & | ref_one_shot_trigger () |
template<typename T > | |
with_index_struct< T > | with_index (const T &_value, int _index) |
helper function to support value references as well as value references with index for the tree_node functions of cgv::gui::provider | |
template<typename T > | |
with_index_traits< T >::pointer_type | wi_get_value_ptr (const T &value) |
template<typename T > | |
int | wi_get_index (const T &value) |
std::string | get_key_string (unsigned short key) |
convert a key code into a readable string | |
std::ostream & | operator<< (std::ostream &os, const shortcut &sc) |
stream a shortcut as text to an output stream | |
std::istream & | operator>> (std::istream &is, shortcut &sc) |
stream in a shortcut from an input stream | |
std::string | get_stick_action_string (StickAction action) |
convert a key action into a readable string | |
text_editor_ptr | create_text_editor (unsigned int w, unsigned int h, const std::string &title, int x, int y) |
construct a new text editor in a separate window of given size, title and position | |
trigger & | get_animation_trigger () |
return the global trigger used for animation, which runs by default with 60 Hz | |
trigger_server_ptr & | ref_trigger_server () |
trigger_server_ptr | get_trigger_server () |
returns the currently registered trigger server | |
void | register_trigger_server (trigger_server_ptr) |
registeres a new trigger server, call this in the on_register method of the server implementation | |
CGV_API cgv::gui::gui_creator_registration< arrow_render_style_gui_creator > | arrow_rs_gc_reg ("arrow_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< box_render_style_gui_creator > | box_rs_gc_reg ("box_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< box_wire_render_style_gui_creator > | box_wire_rs_gc_reg ("box_wire_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< cone_render_style_gui_creator > | cone_rs_gc_reg ("cone_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< ellipsoid_render_style_gui_creator > | ellipsoid_rs_gc_reg ("ellipsoid_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< group_render_style_gui_creator > | group_rs_gc_reg ("group_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< line_render_style_gui_creator > | line_rs_gc_reg ("line_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< normal_render_style_gui_creator > | normal_rs_gc_reg ("normal_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< point_render_style_gui_creator > | point_rs_gc_reg ("point_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< rectangle_render_style_gui_creator > | rectangle_rs_gc_reg ("rectangle_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< slab_render_style_gui_creator > | slab_rs_gc_reg ("slab_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< sphere_render_style_gui_creator > | sphere_rs_gc_reg ("sphere_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< spline_tube_render_style_gui_creator > | spline_tube_rs_gc_reg ("spline_tube_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< surface_render_style_gui_creator > | surface_rs_gc_reg ("surface_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< surfel_render_style_gui_creator > | surfel_rs_gc_reg ("surfel_render_style_gui_creator") |
CGV_API cgv::gui::gui_creator_registration< volume_render_style_gui_creator > | volume_rs_gc_reg ("volume_render_style_gui_creator") |
gamepad_server & | ref_gamepad_server () |
return a reference to gamepad server singleton | |
window_ptr & | ref_dispatch_window_pointer () |
bool | dispatch_gamepad_event (cgv::gui::event &e) |
void | connect_gamepad_server (cgv::gui::window_ptr w) |
connect the gamepad server to the given window or the first window of the application, if window is not provided | |
Variables | |
class CGV_API | animation |
static int | nr_mods = 4 |
static const char * | mod_names [4] = { "Shift+", "Alt+", "Ctrl+", "Meta+" } |
static EventModifier | mod_ids [4] = { EM_SHIFT, EM_ALT,EM_CTRL, EM_META } |
static int | nr_togs = 3 |
static const char * | tog_names [3] = { "CapsLock", "NumLock", "ScrollLock" } |
static EventToggleKeys | tog_ids [3] = { ETK_CAPS_LOCK, ETK_NUM_LOCK, ETK_SCROLL_LOCK } |
class CGV_API | gui_group |
class CGV_API | provider |
template class CGV_API | key_control< double > |
template class CGV_API | key_control< float > |
static const layout_spacings | spacing_compact = {"compact", {0, 0}, {0, 0}} |
static const layout_spacings | spacing_small = {"small", {1, 1}, {1, 1}} |
static const layout_spacings | spacing_normal = {"normal", {2, 2}, {2, 2}} |
static const layout_spacings | spacing_broad = {"broad", {5, 5}, {5, 5}} |
static const layout_spacings | spacing_huge = {"huge", {15, 15}, {15, 15}} |
const char * | key_strings [] |
cgv::gui::gui_creator_registration< clod_point_render_style_gui_creator > | cprsgc ("clod_point_render_style_gui_creator") |
namespace that holds the abstract gui interface
typedef cgv::data::ref_ptr<animation, true> cgv::gui::animation_ptr |
Definition at line 60 of file base_provider.h.
typedef data::ref_ptr<button> cgv::gui::button_ptr |
typedef data::ref_ptr<const gui_group,true> cgv::gui::const_gui_group_ptr |
ref counted pointer to const gui group
Definition at line 34 of file gui_group.h.
typedef data::ref_ptr<const window> cgv::gui::const_window_ptr |
ref counted pointer to driver
Definition at line 121 of file gui_driver.h.
typedef data::ref_ptr<gui_group,true> cgv::gui::gui_group_ptr |
ref counted pointer to a gui group
Definition at line 31 of file gui_group.h.
ref counted pointer to table layout
Definition at line 25 of file layout_inline.h.
typedef cgv::data::ref_ptr<layout> cgv::gui::layout_ptr |
ref counted pointer to table layout
Definition at line 80 of file layout_table.h.
ref counted pointer to abst control
Definition at line 86 of file text_editor.h.
typedef data::ref_ptr<abst_view> cgv::gui::view_ptr |
typedef data::ref_ptr<window> cgv::gui::window_ptr |
different choice event types
Definition at line 12 of file choice_event.h.
enum cgv::gui::CommandId |
Definition at line 134 of file base_provider.cxx.
enum cgv::gui::EventFlags |
enum cgv::gui::EventId |
define the ids of the most common events
flags to define which events should be generated by server
Definition at line 76 of file gamepad_server.h.
enum cgv::gui::KeyAction |
different actions that a key can perform
Enumerator | |
---|---|
KA_RELEASE | key release action |
KA_PRESS | key press action |
KA_REPEAT | key repeated press action |
Definition at line 12 of file key_event.h.
enum cgv::gui::Keys |
define the names of special keys
Definition at line 11 of file shortcut.h.
different actions that a mouse can perform
Definition at line 12 of file mouse_event.h.
different mouse buttons that can be ored together to specify the button state
Enumerator | |
---|---|
MB_NO_BUTTON | no button |
MB_LEFT_BUTTON | left button |
MB_MIDDLE_BUTTON | middle button |
MB_RIGHT_BUTTON | right button |
Definition at line 23 of file mouse_event.h.
different actions that a stick can perform
Definition at line 15 of file stick_event.h.
flags to define which events should be generated by server
Definition at line 26 of file vr_server.h.
enum cgv::gui::VRFocus |
different types of event focus grabbing
Definition at line 41 of file vr_server.h.
CGV_API void cgv::gui::add_animation | ( | animation_ptr | a_ptr, |
bool | terminate_other_animations | ||
) |
Definition at line 145 of file animate.cxx.
CGV_API void cgv::gui::add_layout_spacings | ( | const layout_spacings & | new_spacings | ) |
Definition at line 46 of file layout_spacings.cxx.
animation_ptr cgv::gui::animate_with_axis_rotation | ( | cgv::math::fvec< T, 3 > & | value, |
const cgv::math::fvec< T, 3 > & | axis, | ||
T | angle, | ||
double | duration_sec, | ||
double | delay_sec = 0.0f , |
||
bool | terminate_other_animations = true |
||
) |
animation_ptr cgv::gui::animate_with_geometric_blend | ( | T & | value, |
const T & | target_value, | ||
double | duration_sec, | ||
double | delay_sec = 0.0f , |
||
bool | terminate_other_animations = true |
||
) |
animation_ptr cgv::gui::animate_with_linear_blend | ( | T & | value, |
const T & | target_value, | ||
double | duration_sec, | ||
double | delay_sec = 0.0f , |
||
bool | terminate_other_animations = true |
||
) |
animation_ptr cgv::gui::animate_with_rotation | ( | cgv::math::fvec< T, 3 > & | value, |
const cgv::math::fvec< T, 3 > & | target_value, | ||
double | duration_sec, | ||
double | delay_sec = 0.0f , |
||
bool | terminate_other_animations = true |
||
) |
animation_ptr cgv::gui::animate_with_slerp | ( | T & | value, |
const T & | target_value, | ||
double | duration_sec, | ||
double | delay_sec = 0.0f , |
||
bool | terminate_other_animations = true |
||
) |
bool cgv::gui::array_unequal | ( | const float * | a1, |
const float * | a2, | ||
unsigned | n | ||
) |
Definition at line 14 of file vr_server.cxx.
CGV_API void cgv::gui::connect_gamepad_server | ( | cgv::gui::window_ptr | w | ) |
connect the gamepad server to the given window or the first window of the application, if window is not provided
Definition at line 247 of file gamepad_server.cxx.
References cgv::gui::gamepad_server::check_and_emit_events(), cgv::data::ref_ptr< T, is_ref_counted >::empty(), get_animation_trigger(), cgv::gui::application::get_window(), and ref_gamepad_server().
CGV_API void cgv::gui::connect_vr_server | ( | bool | connect_only_device_change_to_animation_trigger = true , |
cgv::gui::window_ptr | w = cgv::gui::window_ptr() |
||
) |
connect the gamepad server to the given window or the first window of the application, if window is not provided
connect the vr server to the given window or the first window of the application, if window is not provided
If first parameter is true, one of the check_new_state() functions needs to be called actively. This is for example done in vr_view_interactor::query_vr_states() in the crg_vr_view plugin, which is the prefered view plugin to be used when using vr.
Definition at line 414 of file vr_server.cxx.
References cgv::gui::vr_server::check_and_emit_events(), cgv::gui::vr_server::check_device_changes(), cgv::data::ref_ptr< T, is_ref_counted >::empty(), get_animation_trigger(), cgv::gui::application::get_window(), and ref_vr_server().
Referenced by vr_test::init().
CGV_API bool cgv::gui::create_gui | ( | provider * | p, |
const std::string & | label, | ||
void * | value_ptr, | ||
const std::string & | value_type, | ||
const std::string & | gui_type, | ||
const std::string & | options, | ||
bool * | toggles | ||
) |
create the gui for a composed structure
Definition at line 21 of file gui_creator.cxx.
Referenced by cgv::gui::provider::add_gui(), and cgv::gui::subprovider::create_gui_impl().
CGV_API text_editor_ptr cgv::gui::create_text_editor | ( | unsigned int | w, |
unsigned int | h, | ||
const std::string & | title, | ||
int | x, | ||
int | y | ||
) |
construct a new text editor in a separate window of given size, title and position
use the currently registered gui driver to construct a new text editor in a separate window of given size, title and position
Definition at line 9 of file text_editor.cxx.
References cgv::data::ref_ptr< T, is_ref_counted >::empty(), and get_gui_driver().
CGV_API std::string cgv::gui::directory_open_dialog | ( | const std::string & | title, |
const std::string & | path | ||
) |
ask the user for an existing directory.
Definition at line 16 of file file_dialog.cxx.
References cgv::data::ref_ptr< T, is_ref_counted >::empty(), and get_gui_driver().
CGV_API std::string cgv::gui::directory_save_dialog | ( | const std::string & | title, |
const std::string & | path | ||
) |
ask the user for a new directory.
Definition at line 25 of file file_dialog.cxx.
References cgv::data::ref_ptr< T, is_ref_counted >::empty(), and get_gui_driver().
bool cgv::gui::dispatch_gamepad_event | ( | cgv::gui::event & | e | ) |
Definition at line 241 of file gamepad_server.cxx.
bool cgv::gui::dispatch_vr_event | ( | cgv::gui::event & | e | ) |
Definition at line 408 of file vr_server.cxx.
std::string cgv::gui::error_start | ( | const std::string & | content, |
const token & | T | ||
) |
Definition at line 42 of file base_provider_generator.cxx.
CGV_API std::string cgv::gui::file_open_dialog | ( | const std::string & | title, |
const std::string & | filter, | ||
const std::string & | path = "" |
||
) |
ask the user for a file name to open a file.
The filter string is composed of '|'-separated pairs of the form '<text>:<filter>', where <text> is an arbitrary text (without '|' and ':' symbols) shown with the filter and <filter> is one filter string or a ';'-separated list of filters. For example the filter parameter could be set to "Image Files (jpg,gif):*.jpg;*.gif|Video Files (avi):*.avi|All Files:*.*". The path parameter can be used to define an initial directory and or an initial file for the dialog:
Definition at line 7 of file file_dialog.cxx.
References cgv::data::ref_ptr< T, is_ref_counted >::empty(), and get_gui_driver().
CGV_API std::string cgv::gui::file_save_dialog | ( | const std::string & | title, |
const std::string & | filter, | ||
const std::string & | path = "" |
||
) |
ask the user for a file name to save a file.
The filter string uses the syntax defined in the docu of file_open_dialog().
Definition at line 44 of file file_dialog.cxx.
References cgv::data::ref_ptr< T, is_ref_counted >::empty(), and get_gui_driver().
CGV_API std::string cgv::gui::files_open_dialog | ( | std::vector< std::string > & | file_names, |
const std::string & | title, | ||
const std::string & | filter, | ||
const std::string & | path | ||
) |
ask user for an open dialog that can select multiple files, return common path prefix and fill field of filenames
Definition at line 35 of file file_dialog.cxx.
References cgv::data::ref_ptr< T, is_ref_counted >::empty(), and get_gui_driver().
CGV_API trigger & cgv::gui::get_animation_trigger | ( | ) |
return the global trigger used for animation, which runs by default with 60 Hz
Definition at line 81 of file trigger.cxx.
References get_trigger_server(), and cgv::gui::trigger::schedule_recuring().
Referenced by connect_gamepad_server(), connect_vr_server(), cgv::gui::base_provider_generator::on_set(), and register_trigger_server().
CGV_API std::string cgv::gui::get_choice_type_string | ( | ChoiceEventType | type | ) |
convert a choice event type into a readable string
Definition at line 7 of file choice_event.cxx.
Referenced by cgv::gui::choice_event::stream_out().
const command_info * cgv::gui::get_command_infos | ( | ) |
Definition at line 158 of file base_provider.cxx.
CGV_API gui_driver_ptr cgv::gui::get_gui_driver | ( | ) |
return the currently registered gui driver or an empty pointer if non has been registered
Definition at line 18 of file gui_driver.cxx.
Referenced by cgv::gui::gui_group::add_button(), cgv::gui::gui_group::add_control_void(), cgv::gui::gui_group::add_decorator(), cgv::gui::gui_group::add_group(), cgv::gui::menu_provider::add_menu_bool_control(), cgv::gui::menu_provider::add_menu_button(), cgv::gui::menu_provider::add_menu_separator(), cgv::gui::gui_group::add_view_void(), cgv::gui::application::copy_to_clipboard(), create_text_editor(), cgv::gui::application::create_window(), directory_open_dialog(), directory_save_dialog(), cgv::gui::application::enumerate_monitors(), file_open_dialog(), file_save_dialog(), files_open_dialog(), cgv::gui::gui_group::find_control_void(), cgv::gui::menu_provider::find_menu_element(), cgv::gui::gui_group::find_view_void(), cgv::gui::application::get_nr_windows(), cgv::gui::application::get_window(), message(), cgv::gui::help_menu_entry::on_register(), cgv::gui::application::paste_from_clipboard(), gui_config_file_driver::process_gui_file(), query(), question(), question(), cgv::gui::application::quit(), cgv::gui::menu_provider::remove_menu_element(), cgv::gui::application::remove_window(), cgv::gui::application::run(), and cgv::gui::application::set_focus().
CGV_API std::string cgv::gui::get_key_action_string | ( | KeyAction | action | ) |
convert a key action into a readable string
Definition at line 9 of file key_event.cxx.
References KA_PRESS, KA_RELEASE, and KA_REPEAT.
CGV_API std::string cgv::gui::get_key_string | ( | unsigned short | key | ) |
convert a key code into a readable string
Definition at line 70 of file shortcut.cxx.
Referenced by cgv::gui::key_event::stream_out().
CGV_API const layout_spacings & cgv::gui::get_layout_spacings | ( | std::string | name | ) |
Definition at line 38 of file layout_spacings.cxx.
CGV_API std::string cgv::gui::get_modifier_string | ( | EventModifier | modifiers | ) |
convert a modifier combination into a readable string ending on a '+' sign if not empty, i.e. "Shift+Ctrl+"
Definition at line 37 of file event.cxx.
Referenced by cgv::gui::event::stream_out(), and cgv::gui::shortcut::stream_out().
CGV_API std::string cgv::gui::get_stick_action_string | ( | StickAction | action | ) |
convert a key action into a readable string
convert a stick action into a readable string
Definition at line 8 of file stick_event.cxx.
References SA_DRAG, SA_MOVE, SA_PRESS, SA_RELEASE, SA_TOUCH, and SA_UNPRESS.
Referenced by vr_test::handle(), and cgv::gui::stick_event::stream_out().
CGV_API std::string cgv::gui::get_toggle_keys_string | ( | EventToggleKeys | toggle_keys | ) |
std::map< std::pair< const void *, int >, bool > & cgv::gui::get_tree_node_toggle_map | ( | ) |
Definition at line 200 of file provider.cxx.
CGV_API trigger_server_ptr cgv::gui::get_trigger_server | ( | ) |
returns the currently registered trigger server
Definition at line 100 of file trigger.cxx.
Referenced by get_animation_trigger(), cgv::gui::trigger::get_current_time(), cgv::gui::trigger::is_scheduled(), cgv::gui::provider::post_recreate_gui(), cgv::gui::trigger::schedule_one_shot(), cgv::gui::trigger::schedule_recuring(), and cgv::gui::trigger::stop().
CGV_API void cgv::gui::message | ( | const std::string & | _message | ) |
tell the user something with a message box
Definition at line 14 of file dialog.cxx.
References cgv::data::ref_ptr< T, is_ref_counted >::empty(), and get_gui_driver().
Referenced by vr_test::init_frame().
CGV_API cgv::signal::signal< gui_driver_ptr > & cgv::gui::on_gui_driver_registration | ( | ) |
a signal that is emitted when a gui driver is registered
Definition at line 30 of file gui_driver.cxx.
Referenced by register_gui_driver().
CGV_API std::ostream & cgv::gui::operator<< | ( | std::ostream & | os, |
const shortcut & | sc | ||
) |
stream a shortcut as text to an output stream
Definition at line 198 of file shortcut.cxx.
References cgv::gui::shortcut::stream_out().
CGV_API std::istream & cgv::gui::operator>> | ( | std::istream & | is, |
shortcut & | sc | ||
) |
stream in a shortcut from an input stream
Definition at line 205 of file shortcut.cxx.
References cgv::gui::shortcut::stream_in().
CGV_API bool cgv::gui::query | ( | const std::string & | question, |
std::string & | text, | ||
bool | password = false |
||
) |
query the user for a text, where the second parameter is the default text
as well as the returned text.
If password
is true, the text is hidden. The function returns false if the user canceled the input of if no gui driver is available.
Definition at line 61 of file dialog.cxx.
References cgv::data::ref_ptr< T, is_ref_counted >::empty(), get_gui_driver(), and question().
CGV_API int cgv::gui::question | ( | const std::string & | _question, |
const std::string & | answers, | ||
int | default_answer | ||
) |
second question interface, where answers
is a comma seprated list of enum declaration
second question interface, where answers
is a comma seprated list of enum declaration (maximum is 3 answers), where default_answer
specifies index of default answer (not enum value) and first answer is returned if user presses ESC
Definition at line 34 of file dialog.cxx.
References cgv::data::ref_ptr< T, is_ref_counted >::empty(), get_gui_driver(), cgv::utils::is_integer(), cgv::utils::tokenizer::set_ws(), and cgv::utils::to_string().
CGV_API int cgv::gui::question | ( | const std::string & | _question, |
const std::vector< std::string > & | answers, | ||
int | default_answer | ||
) |
ask the user with question
to select one of the answers
, where default_answer
specifies index of default answer
ask the user with question
to select one of the answers
(maximum is 3 answers), where default_answer
specifies index of default answer and first answer is returned if user presses ESC
Definition at line 24 of file dialog.cxx.
References cgv::data::ref_ptr< T, is_ref_counted >::empty(), and get_gui_driver().
Referenced by query().
animation_manager & cgv::gui::ref_animation_manager | ( | ) |
Definition at line 139 of file animate.cxx.
CGV_API unsigned char & cgv::gui::ref_current_modifiers | ( | ) |
window_ptr & cgv::gui::ref_dispatch_window_pointer | ( | ) |
Definition at line 236 of file gamepad_server.cxx.
window_ptr & cgv::gui::ref_dispatch_window_pointer_vr | ( | ) |
Definition at line 403 of file vr_server.cxx.
CGV_API gamepad_server & cgv::gui::ref_gamepad_server | ( | ) |
return a reference to gamepad server singleton
Definition at line 230 of file gamepad_server.cxx.
Referenced by connect_gamepad_server().
std::vector< gui_creator * > & cgv::gui::ref_gui_creators | ( | ) |
Definition at line 8 of file gui_creator.cxx.
gui_driver_ptr & cgv::gui::ref_gui_driver | ( | ) |
Definition at line 12 of file gui_driver.cxx.
trigger & cgv::gui::ref_one_shot_trigger | ( | ) |
Definition at line 481 of file provider.cxx.
std::set< provider * > & cgv::gui::ref_providers | ( | ) |
Definition at line 451 of file provider.cxx.
std::map< std::string, layout_spacings > & cgv::gui::ref_spacings | ( | ) |
Definition at line 22 of file layout_spacings.cxx.
trigger_server_ptr & cgv::gui::ref_trigger_server | ( | ) |
Definition at line 94 of file trigger.cxx.
std::map< const void *, abst_view * > & cgv::gui::ref_view_map | ( | ) |
Definition at line 20 of file control.cxx.
CGV_API vr_calibration & cgv::gui::ref_vr_calibration | ( | ) |
access to singleton object of vr_calibration class
allow ref_vr_calibration() function to construct one instance
Definition at line 11 of file vr_calib.cxx.
CGV_API vr_server & cgv::gui::ref_vr_server | ( | ) |
return a reference to gamepad server singleton
return a reference to vr server singleton
Definition at line 397 of file vr_server.cxx.
Referenced by connect_vr_server().
CGV_API void cgv::gui::register_gui_creator | ( | gui_creator * | gc, |
const char * | creator_name | ||
) |
register a gui creator
Definition at line 15 of file gui_creator.cxx.
CGV_API void cgv::gui::register_gui_driver | ( | gui_driver_ptr | _driver | ) |
register a new gui driver.
This overwrites a previously registered gui driver and should be called in the on_register method of the driver
Definition at line 23 of file gui_driver.cxx.
References on_gui_driver_registration().
CGV_API void cgv::gui::register_trigger_server | ( | trigger_server_ptr | _ts | ) |
registeres a new trigger server, call this in the on_register method of the server implementation
Definition at line 105 of file trigger.cxx.
References get_animation_trigger().
CGV_API void cgv::gui::remove_layout_spacings | ( | const std::string & | name | ) |
Definition at line 52 of file layout_spacings.cxx.
unsigned char cgv::gui::stream_in_modifier | ( | std::istream & | is | ) |
CGV_API unsigned char cgv::gui::stream_in_modifiers | ( | std::istream & | is | ) |
unsigned char cgv::gui::stream_in_toggle_keys | ( | std::istream & | is | ) |
void cgv::gui::trigger_callback | ( | double | , |
double | |||
) |
Definition at line 465 of file provider.cxx.
void cgv::gui::update_group_members | ( | cgv::base::group_ptr | gp | ) |
Definition at line 100 of file provider.cxx.
CGV_API void cgv::gui::update_views | ( | void * | member_ptr | ) |
Definition at line 90 of file control.cxx.
int cgv::gui::wi_get_index | ( | const T & | value | ) |
Definition at line 57 of file provider.h.
with_index_traits< T >::pointer_type cgv::gui::wi_get_value_ptr | ( | const T & | value | ) |
Definition at line 51 of file provider.h.
with_index_struct< T > cgv::gui::with_index | ( | const T & | _value, |
int | _index | ||
) |
helper function to support value references as well as value references with index for the tree_node functions of cgv::gui::provider
Definition at line 28 of file provider.h.
class CGV_API cgv::gui::animation |
class CGV_API cgv::gui::gui_group |
Definition at line 27 of file gui_group.h.
template class CGV_API cgv::gui::key_control< double > |
Definition at line 223 of file key_control.cxx.
template class CGV_API cgv::gui::key_control< float > |
Definition at line 224 of file key_control.cxx.
const char* cgv::gui::key_strings[] |
Definition at line 10 of file shortcut.cxx.
|
static |
|
static |
class CGV_API cgv::gui::provider |
Definition at line 28 of file gui_group.h.
|
static |
Definition at line 16 of file layout_spacings.cxx.
|
static |
Definition at line 10 of file layout_spacings.cxx.
|
static |
Definition at line 18 of file layout_spacings.cxx.
|
static |
Definition at line 14 of file layout_spacings.cxx.
|
static |
Definition at line 12 of file layout_spacings.cxx.
|
static |