Lumiera  0.pre.03
»edit your freedom«
marker-widget.hpp
Go to the documentation of this file.
1 /*
2  MARKER-WIDGET.hpp - display of a marker in timeline or within clips
3 
4  Copyright (C)
5  2016, Hermann Vosseler <Ichthyostega@web.de>
6 
7   **Lumiera** is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published by the
9   Free Software Foundation; either version 2 of the License, or (at your
10   option) any later version. See the file COPYING for further details.
11 
12 */
13 
14 
29 #ifndef STAGE_TIMELINE_MARKER_WIDGET_H
30 #define STAGE_TIMELINE_MARKER_WIDGET_H
31 
32 #include "stage/gtk-base.hpp"
33 #include "stage/model/widget.hpp"
35 
36 //#include "lib/util.hpp"
37 
38 //#include <memory>
39 #include <string>
40 
41 
42 
43 namespace stage {
44 namespace timeline {
45 
46  using std::string;
47 
48  enum MarkerKind {
49  MARK,
50  LOOP
51  };
52 
53 
59  : public model::Widget
61  {
62  MarkerKind kind_;
63  string name_;
64 
65  public:
70  MarkerWidget (ID identity, ctrl::BusTerm& nexus);
71 
72  ~MarkerWidget();
73 
74 
76  virtual void buildMutator (lib::diff::TreeMutator::Handle) override;
77 
78  void relink();
79 
80  private:/* ===== Internals ===== */
81  };
82 
83 
84 }}// namespace stage::timeline
85 #endif /*STAGE_TIMELINE_MARKER_WIDGET_H*/
Common Abstraction of all UIBus connected widget elements.
connection point at the UI-Bus.
Definition: bus-term.hpp:96
A basic building block of the Lumiera UI.
Widget to render an ID label with associated icon.
void relink()
update and re-attach the presentation widget into its presentation context.
MarkerWidget(ID identity, ctrl::BusTerm &nexus)
A handle to allow for safe »remote implantation« of an unknown subclass into a given opaque InPlaceBu...
Definition: record.hpp:104
Lumiera GTK UI implementation root.
Definition: guifacade.cpp:37
virtual void buildMutator(lib::diff::TreeMutator::Handle) override
set up a binding to respond to mutation messages via UiBus
A set of basic GTK includes for the UI.