Lumiera  0.pre.03
»edityourfreedom«
TimelinePanel Class Reference

#include "gui/panel/timeline-panel.hpp"

Description

Dockable panel to hold timeline widget(s).

Todo:
build the actual implementation, after finishing the investigation

Investigation of gtk::GtkLayout

As of 10/2016, we start this task with an exploration of GTK behaviour

Plan of investigation
  1. place some simple widgets (Buttons) ✔
  2. learn how to draw ✔
  3. place a huge number of widgets, to scrutinise scrolling and performance
  4. place widgets overlapping and irregularily, beyond the scrollable area ✔
  5. bind signals to those widgets, to verify event dispatching ✔
  6. bind some further signal(s) to the ~GtkLayout container
  7. hide and re-show a partially and a totally overlapped widget
  8. find a way to move a widget ✔ and delete arbitrary widgets ✔
  9. expand an existing widget (text change) ✔
  10. build a custom "clip" widget
  11. retrofit all preceding tests to use this "clip" widget

Definition at line 123 of file timeline-panel.hpp.

Public Member Functions

 TimelinePanel (workspace::PanelManager &, Gdl::DockItem &)
 
- Public Member Functions inherited from Panel
 ~Panel ()
 
Gdl::DockItem & getDockItem ()
 
workspace::PanelManagergetPanelManager ()
 
void iconify ()
 
bool is_iconified () const
 
bool is_locked () const
 
bool is_shown () const
 
void lock (bool show=true)
 Locks or unlocks the panel against modifications. More...
 
void show (bool show=true)
 Shows or hides the panel. More...
 
sigc::signal< void > & signal_hidePanel ()
 fires when the dock item gets hidden. More...
 

Static Public Member Functions

static const gchar * getStockID ()
 
static const char * getTitle ()
 

Private Types

using ChildV = std::vector< ChildEx * >
 

Private Member Functions

void experiment_1 ()
 
void experiment_2 ()
 
void experiment_3 ()
 
void experiment_4 ()
 
void experiment_5 ()
 
ChildExmakeChld ()
 

Private Attributes

Gtk::Button button_1_
 
Gtk::Button button_2_
 
Gtk::Button button_3_
 
Gtk::Button button_4_
 
Gtk::Button button_5_
 
Gtk::ButtonBox buttons_
 
Canvas canvas_
 
ChildV childz_
 
Gtk::Frame frame_
 
Gtk::ScrolledWindow scroller_
 
Gtk::CheckButton toggleDraw_
 
Gtk::Box twoParts_
 

Additional Inherited Members

- Protected Member Functions inherited from Panel
 Panel (workspace::PanelManager &, Gdl::DockItem &, const gchar *longName, const gchar *stockID)
 
workspace::WorkspaceWindowgetWorkspaceWindow ()
 
- Protected Attributes inherited from Panel
Gdl::DockItem & dockItem_
 owner dock item widget that will host the widgets in this panel. More...
 
sigc::signal< void > hidePanelSignal_
 signal that fires when the dock item is hidden. More...
 
widget::PanelBar panelBar_
 panel bar to attach to the panel grip. More...
 
workspace::PanelManagerpanelManager_
 The owner panel manager object. More...
 

Member Typedef Documentation

◆ ChildV

using ChildV = std::vector<ChildEx*>
private

Definition at line 153 of file timeline-panel.hpp.

Constructor & Destructor Documentation

◆ TimelinePanel()

TimelinePanel ( workspace::PanelManager panelManager,
Gdl::DockItem &  dockItem 
)
Parameters
panel_managerThe owner panel manager widget.
dock_itemThe GdlDockItem that will host this panel.

Definition at line 68 of file timeline-panel.cpp.

References Canvas::adjustSize(), TimelinePanel::button_1_, TimelinePanel::button_2_, TimelinePanel::button_3_, TimelinePanel::button_4_, TimelinePanel::button_5_, TimelinePanel::buttons_, TimelinePanel::canvas_, Canvas::enableDraw(), TimelinePanel::experiment_1(), TimelinePanel::experiment_2(), TimelinePanel::experiment_3(), TimelinePanel::experiment_4(), TimelinePanel::experiment_5(), TimelinePanel::frame_, TimelinePanel::scroller_, TimelinePanel::toggleDraw_, and TimelinePanel::twoParts_.

+ Here is the call graph for this function:

Member Function Documentation

◆ getTitle()

const char * getTitle ( )
static

Definition at line 141 of file timeline-panel.cpp.

References _.

◆ getStockID()

const gchar * getStockID ( )
static

Definition at line 147 of file timeline-panel.cpp.

◆ makeChld()

ChildEx * makeChld ( )
private

Definition at line 347 of file timeline-panel.cpp.

Referenced by TimelinePanel::experiment_1().

+ Here is the caller graph for this function:

◆ experiment_1()

void experiment_1 ( )
private

Definition at line 155 of file timeline-panel.cpp.

References Canvas::adjustSize(), TimelinePanel::canvas_, TimelinePanel::childz_, TimelinePanel::frame_, and TimelinePanel::makeChld().

Referenced by TimelinePanel::TimelinePanel().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ experiment_2()

void experiment_2 ( )
private

Definition at line 170 of file timeline-panel.cpp.

References Canvas::adjustSize(), TimelinePanel::canvas_, TimelinePanel::childz_, TimelinePanel::frame_, and lib::meta::max().

Referenced by TimelinePanel::TimelinePanel().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ experiment_3()

void experiment_3 ( )
private

Definition at line 189 of file timeline-panel.cpp.

References Canvas::adjustSize(), TimelinePanel::canvas_, TimelinePanel::childz_, and TimelinePanel::frame_.

Referenced by TimelinePanel::TimelinePanel().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ experiment_4()

void experiment_4 ( )
private

Definition at line 206 of file timeline-panel.cpp.

References TimelinePanel::childz_, and TimelinePanel::frame_.

Referenced by TimelinePanel::TimelinePanel().

+ Here is the caller graph for this function:

◆ experiment_5()

void experiment_5 ( )
private

Definition at line 216 of file timeline-panel.cpp.

References TimelinePanel::canvas_, TimelinePanel::childz_, and TimelinePanel::frame_.

Referenced by TimelinePanel::TimelinePanel().

+ Here is the caller graph for this function:

Member Data Documentation

◆ twoParts_

Gtk::Box twoParts_
private

Definition at line 139 of file timeline-panel.hpp.

Referenced by TimelinePanel::TimelinePanel().

◆ buttons_

Gtk::ButtonBox buttons_
private

Definition at line 140 of file timeline-panel.hpp.

Referenced by TimelinePanel::TimelinePanel().

◆ button_1_

Gtk::Button button_1_
private

Definition at line 141 of file timeline-panel.hpp.

Referenced by TimelinePanel::TimelinePanel().

◆ button_2_

Gtk::Button button_2_
private

Definition at line 142 of file timeline-panel.hpp.

Referenced by TimelinePanel::TimelinePanel().

◆ button_3_

Gtk::Button button_3_
private

Definition at line 143 of file timeline-panel.hpp.

Referenced by TimelinePanel::TimelinePanel().

◆ button_4_

Gtk::Button button_4_
private

Definition at line 144 of file timeline-panel.hpp.

Referenced by TimelinePanel::TimelinePanel().

◆ button_5_

Gtk::Button button_5_
private

Definition at line 145 of file timeline-panel.hpp.

Referenced by TimelinePanel::TimelinePanel().

◆ toggleDraw_

Gtk::CheckButton toggleDraw_
private

Definition at line 146 of file timeline-panel.hpp.

Referenced by TimelinePanel::TimelinePanel().

◆ frame_

◆ scroller_

Gtk::ScrolledWindow scroller_
private

Definition at line 148 of file timeline-panel.hpp.

Referenced by TimelinePanel::TimelinePanel().

◆ canvas_

◆ childz_

+ Inheritance diagram for TimelinePanel:
+ Collaboration diagram for TimelinePanel:

The documentation for this class was generated from the following files: