Timeline: setup basic widget structure

This commit is contained in:
Fischlurch 2018-10-28 01:30:02 +02:00
parent 2d4e58db02
commit c212ce94ca
8 changed files with 75 additions and 15 deletions

View file

@ -57,17 +57,25 @@ namespace timeline {
BodyCanvasWidget::~BodyCanvasWidget() { }
BodyCanvasWidget::BodyCanvasWidget ()
: Gtk::ScrolledWindow{}
, canvas_{}
{
this->set_shadow_type(Gtk::SHADOW_IN);
this->set_policy (Gtk::POLICY_ALWAYS, Gtk::POLICY_AUTOMATIC); // always need a horizontal scrollbar
this->property_expand() = true; // dynamically grab any available additional space
this->add(canvas_);
// canvas_.adjustSize();
// show everything....
this->show_all();
}
BodyCanvasWidget::~BodyCanvasWidget()
{
}

View file

@ -70,17 +70,27 @@ namespace gui {
namespace timeline {
class TimelineCanvas
: public Gtk::Layout
{
};
/**
* @todo WIP-WIP as of 12/2016
*/
class BodyCanvasWidget
: public Gtk::ScrolledWindow
{
TimelineCanvas canvas_;
public:
BodyCanvasWidget();
~BodyCanvasWidget();
private:/* ===== Internals ===== */
};

View file

@ -58,16 +58,15 @@ namespace timeline {
HeaderPaneWidget::~HeaderPaneWidget() { }
HeaderPaneWidget::HeaderPaneWidget ()
: Gtk::Box{Gtk::ORIENTATION_VERTICAL}
{
}
HeaderPaneWidget::~HeaderPaneWidget()
{
}

View file

@ -60,6 +60,7 @@ namespace timeline {
* @todo WIP-WIP as of 12/2016
*/
class HeaderPaneWidget
: public Gtk::Box
{
public:
HeaderPaneWidget();

View file

@ -61,10 +61,13 @@ namespace timeline {
TimelineLayout::~TimelineLayout() { }
TimelineLayout::TimelineLayout ()
: headerPane_{}
TimelineLayout::TimelineLayout (Gtk::Paned& topLevelContainer)
: paneSplitPosition_{topLevelContainer.property_position()}
, headerPane_{}
, bodyCanvas_{}
{
topLevelContainer.add1 (headerPane_);
topLevelContainer.add2 (bodyCanvas_);
}

View file

@ -105,14 +105,17 @@ namespace timeline {
*/
class TimelineLayout
{
Glib::PropertyProxy<int> paneSplitPosition_;
HeaderPaneWidget headerPane_;
BodyCanvasWidget bodyCanvas_;
public:
TimelineLayout ();
TimelineLayout (Gtk::Paned&);
~TimelineLayout();
void installRootTrack(TrackHeadWidget&,TrackBody&);
void installRootTrack (TrackHeadWidget&,TrackBody&);
private:/* ===== Internals ===== */

View file

@ -69,7 +69,7 @@ namespace timeline {
TimelineWidget::TimelineWidget (BusTerm::ID identity, BusTerm::ID trackID, BusTerm& nexus)
: TimelinePage{}
, layout_{new TimelineLayout}
, layout_{new TimelineLayout{*this}}
, control_{new TimelineController{identity, trackID, nexus, *layout_}}
{
UNIMPLEMENTED ("build the timeline UI");

View file

@ -19058,9 +19058,17 @@
<node CREATED="1480607033512" ID="ID_1815699851" MODIFIED="1518487921082" TEXT="Kopf">
<node CREATED="1540641296565" ID="ID_991484939" MODIFIED="1540652852076" TEXT="Navigations-Bereich">
<arrowlink DESTINATION="ID_1952536945" ENDARROW="Default" ENDINCLINATION="64;0;" ID="Arrow_ID_1459742640" STARTARROW="None" STARTINCLINATION="64;0;"/>
<node CREATED="1540682850119" HGAP="39" ID="ID_1885212949" MODIFIED="1540682870351" TEXT="Grid?"/>
</node>
<node CREATED="1540641305092" ID="ID_18552766" MODIFIED="1540652856371" TEXT="Header-Pane">
<arrowlink DESTINATION="ID_151954769" ENDARROW="Default" ENDINCLINATION="50;0;" ID="Arrow_ID_1923805019" STARTARROW="None" STARTINCLINATION="50;0;"/>
<node CREATED="1540682883065" HGAP="94" ID="ID_1549568084" MODIFIED="1540682891807" TEXT="2.Box" VSHIFT="12">
<node CREATED="1540682893097" ID="ID_419298158" MODIFIED="1540682899815" TEXT="interne Struktur?">
<icon BUILTIN="help"/>
<node CREATED="1540682901320" ID="ID_1054686680" MODIFIED="1540682907481" TEXT="stacked boxes?"/>
<node CREATED="1540682908088" ID="ID_785207504" MODIFIED="1540682916074" TEXT="table grid?"/>
</node>
</node>
</node>
</node>
<node CREATED="1480607035712" ID="ID_1405339006" MODIFIED="1518487921082" TEXT="Rumpf">
@ -35671,6 +35679,34 @@
</node>
</node>
</node>
<node CREATED="1540682664865" ID="ID_1702211999" MODIFIED="1540682668371" TEXT="Metaprogramming">
<node CREATED="1540682674455" ID="ID_1625152878" MODIFIED="1540682679322" TEXT="Typliste filtern">
<node CREATED="1540682680286" ID="ID_1172485112" MODIFIED="1540682685721" TEXT="nach canConvert">
<node CREATED="1540682731631" ID="ID_1059841081" MODIFIED="1540682746102" TEXT="die Typen, in die man umwandeln kann">
<icon BUILTIN="info"/>
</node>
<node CREATED="1540682747461" ID="ID_1097757447" MODIFIED="1540682763478" TEXT="sinnvoll zum Binden an Rec&lt;GenNode&gt;">
<icon BUILTIN="idea"/>
</node>
<node CREATED="1540682686558" ID="ID_349304672" MODIFIED="1540682729346" TEXT="aber das eigentliche Problem ist...">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
...wie bekommt man dann den konvertierten Wert 'raus.
</p>
<p>
Visitor ist entweder void, oder bool
</p>
</body>
</html>
</richcontent>
</node>
</node>
</node>
</node>
</node>
<node CREATED="1482524641484" ID="ID_1651495185" MODIFIED="1518487921096" TEXT="Architektur">
<node CREATED="1531419748046" ID="ID_1791265013" MODIFIED="1531419752937" TEXT="Lebenszyklus">