Lumiera  0.pre.03
»edit your freedom«
timeline-zoom-scale.hpp
Go to the documentation of this file.
1 /*
2  TIMELINE-ZOOM-SCALE.hpp - widget to control timeline zoom scale
3 
4  Copyright (C)
5  2011, Michael R. Fisher <mfisher31@gmail.com>
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 
27 #ifndef STAGE_WIDGET_TIMELINE_ZOOM_SCALE_H
28 #define STAGE_WIDGET_TIMELINE_ZOOM_SCALE_H
29 
30 #include "stage/gtk-base.hpp"
32 //#include "stage/widget/timeline-widget.hpp" //////////////////////////////////////////////////////////////TODO old GTK-2 UI is defunct (3/23)
34 
35 using namespace Gtk;
36 using namespace stage::widget;
37 
38 namespace stage {
39 namespace widget {
40 namespace timeline {
41 
43  : public Gtk::HBox
44  {
45  public:
47 
48  sigc::signal<void, double> signal_zoom();
49 
50  void set_value(double val) { adjustment->set_value(val); }
51 
52  void wireTimelineState (shared_ptr<TimelineState> currentState
53 // ,TimelineWidget::TimelineStateChangeSignal /////////////////////////////////////TODO old GTK-2 UI is defunct (3/23)
54  );
55 
56 
57 
58  private: /* ===== Event Handlers ===== */
59 
63  void on_timeline_state_changed (shared_ptr<TimelineState> newState);
64 
68  void on_zoom_in_clicked();
69 
73  void on_zoom_out_clicked();
74 
78  void on_zoom();
79 
81  TimelineViewWindow& getViewWindow();
82 
83  /* Widgets */
84  Glib::RefPtr<Gtk::Adjustment> adjustment;
85  Gtk::HScale slider;
86  MiniButton zoomIn;
87  MiniButton zoomOut;
88 
89 
90  private:
91  sigc::signal<void, double> zoomSignal;
92  const double button_step_size;
93  shared_ptr<TimelineState> timelineState;
94  };
95 
96 
97 }}}// namespace stage::widget::timeline
98 #endif /*STAGE_WIDGET_TIMELINE_ZOOM_SCALE_H*/
Lumiera custom widgets.
Definition: gtk-base.hpp:155
Presentation state for the first draft of the timeline display.
Lumiera GTK UI implementation root.
Definition: guifacade.cpp:37
Adapter to wrap button widgets intended to serve as tool buttons.
A set of basic GTK includes for the UI.