Commit graph

840 commits

Author SHA1 Message Date
071f49027f change presentation state manager API
...based on elementIDs rather, to avoid any
tangling and trickery with reconstructing IDs
2016-02-13 22:55:58 +01:00
c54dfd6a94 factor out generic map based state manager implementation 2016-02-13 22:55:58 +01:00
15c1343fae class name rochade
it occured to me that my "mock implementation" actually
is entirely generic, so it could as well be "the" implementation
2016-02-13 22:55:58 +01:00
49a42b4d50 add outline of corresponding storage implementation 2016-02-13 22:55:58 +01:00
ef04ebfb17 add skeleton of a mock implementation within test::Nexus 2016-02-13 22:55:58 +01:00
f58b2af228 stub new parts 2016-02-13 22:55:58 +01:00
26d0f50e47 state mark handling within the base element: unit test PASS
...and I made the decision *not* to consider any kind of
generic properties for now. YAGNI.

UI coding is notorious spaghetti code.
No point in fighting that, it is just the way it is,
because somewhere you're bound to get concrete, hands-on.
2016-02-13 22:55:58 +01:00
0964e56c49 better use a named magic constant
right now, what we actually need here is just some integer,
so the GenNode payload is typed to int (or just to anything
different than a Record, because the Record signals that
we intend to bind, not to invoke the command)
2016-02-13 22:55:57 +01:00
fea6628b3c WIP some notes what could be addressed next 2016-02-13 22:55:57 +01:00
44785859ea convenience shortcut to simplify command invocation via Bus 2016-02-13 22:55:57 +01:00
3f22150ab3 back to topic: get all the arguments of command binding logged
...when the Test-Nexus processes a command binding message.
In the real system of course we do not want to log every bind message.

The challenge here is the fact that command binding as such
is opaque, and the types of the data within the bind message
are opaque as well. Finally I settled on the compromise
to log them as strings, but only the DataCap part;
most value types applicable within GenNode
have a string representation to match.
2016-02-05 15:55:22 +01:00
eaa12499f3 back to UI command invocation: basically implement a placeholder command
based on the previous experiments, this adds a fake operation
and a definition frame to hook this operation as pseudo Proc-Layer command

WIP: the invocation itself is not yet implemented.
     We need to build a custom invocation pattern for that,
     in order to be able to capture the instance-ID of the command
     on invocation

NOTE: also, because of #989, we can not bind a time value for this test
2016-01-22 12:19:25 +01:00
627b11dcb7 stub the new functions 2016-01-15 04:57:49 +01:00
b2e0c8fa63 WIP: draft a test to verify the bus side of UI command invocation
basically this comes down to provide some convenience fixture
within the test::Nexus, which automatically generates and wires
mock commands.

Not sure if this is even possible to the extent envisioned here
2016-01-15 04:30:43 +01:00
2c20d407fc mass clean-up: adapt usage of std::cout pretty much everywhere
- remove unnecessary includes
- expunge all remaining usages of boost::format
- able to leave out the expliti string(elm) in output
- drop various operator<<, since we're now picking up
  custom string conversions automatically
- delete diagnostics headers, which are now largely superfluous
- use newer helper functions occasionally

I didn't blindly change any usage of <iostream> though;
sometimes, just using the output streams right away
seems adequate.
2016-01-07 20:12:46 +01:00
c9ea9de54d cover basic up-link and down-link communication in BusTerm_test 2016-01-03 03:37:52 +01:00
540151b56b provide a mock handler for commands and state marks
in the real system, this will be the task of the CoreService,
while here, in test mode, we allow to install handling closures
from the unit-test-code
2016-01-03 03:23:39 +01:00
2e4d74747e implement logging overrides in the Test-Nexus implementation
the actual functionality is forwareded to the base class,
which is the regular Nexus Hub
2016-01-02 19:16:37 +01:00
603f9e2b7d DOC: fix some Doxygen link syntax
I worked under the erroneous assumption, that Doxygen
will use its internal entity-IDs as the link-IDs when
generating mardown-links. Yes, this seemed logical and
this would be the way I'd implement it....

But seemingly, Doxygen is not so consistent when it
comes to questions of syntax. The same holds true for
markdown, which lacking a coherent definition anyway.

Another problem is that Doxygen's auto-link generation
frequently fails, for reasons not yet clear to me.
Sometimes it seems to be necessary to give it a nudge
by including the \ref command. While I'm not willing
to go into focussed invstigation of Doxygen syntax
right now, at least I've done a search-and-replace
to remove the malformed links I've written the
last days
2015-12-27 03:16:49 +01:00
dddcbe9994 DOC: supply basics of UI-Bus and generic UI-element protocol
the initial draft of this concept is in place now, and
the first round of unit tests pass. I've got some understanding
of the purpose of the interactions and involved elements
and I'm confident this design is evolving in a sane way.

Note: extensive documentation is in the TiddlyWiki,
here I've just pasted and reworded some paragraphs from there
and integrated them into the Doxygen docs
2015-12-27 01:58:15 +01:00
3c24b4f8e4 should provide a generic entry point for all "state mark" messages 2015-12-26 03:03:46 +01:00
9aa1fec369 UI-Element protocol: clarify the role of the doExpand() extension point
and let the concrete extension point decide if the corresponding
state change was actually relevant and should be persisted
2015-12-26 00:59:16 +01:00
3a287bf134 implement the generic expand/collapse mechanism 2015-12-25 03:53:26 +01:00
a9552ceace add stubs for the specific implementation within Widget and Controller 2015-12-25 03:51:19 +01:00
5564a51a79 build/platform: make lib SigC++ available for GUI test code
Explanation: sigC++ was already linked as transitive dependency
from gtkmm, since it is used for the "signal-slot" system wihin GTK.
But now we want to use sigC++ itself from our generic UI-Backbone,
so we need to pick up the additional compiler and linker flags
and use them when building the relevant parts of both the application
and the test suite
2015-12-25 03:06:33 +01:00
4d1fcd6dcb implement logging/identification of mock UI elements 2015-12-25 00:41:14 +01:00
972045d8f8 fix a segfault caused by re-entrance
at the point when we're connecting a new node to the UI-Bus,
the new node's BusTerm is not yet initialised, since we need
the uplink connection we're about to create for setting up
this BusTerm.

Consequently, the new nodes's ID is not yet initialised,
so we need to pass this endpoint-ID explicitly to the
registration function.
2015-12-24 22:43:41 +01:00
38e6d635dc implement routing in the UI-Bus hub 2015-12-24 22:27:37 +01:00
37802fd699 complete wiring of nexus and core services
since, by definition, the Nexus is "the" up-link,
all we need is clever overriding of the relevant
handling functions, so the nexus will care for the routing,
while the CoreService cares for command and presentation
state handling
2015-12-19 04:05:21 +01:00
449fa16444 WIP: draft of the UI backbone setup
- front-end handle
- Nexus == routing hub
- CoreService == service access point for command invocation
2015-12-19 03:40:19 +01:00
0f793e0a79 untangle the setup of test nexus 2015-12-18 19:50:57 +01:00
f19ebd63d0 pondering about how to connect the central bus hub
...especially since we need a faked UI backbone for unit testing
2015-12-18 19:50:02 +01:00
af98d75da4 consider the bus side of the generic UI base in more detail
especially define the outline of the bus communication
and connection management
2015-12-18 01:02:19 +01:00
a9a6aabcbc return to topic: UI element protocol
next step will be to rig the mock element and set up
and cover the basic / generic element behaviour

This changeset
 - adapts the (planned) unit test to the semantic of
   the EventLog, which is now fully implemented

 - adjusts the function names on the public Tangible interface,
   to be better in line with the naming convention of the
   corrsponding operations on the UI-Bus:

   * "mark" operations are towards the UI element
   * "note" messages are from the UI element towards some
     state manager, which can be reached via the bus
2015-12-16 02:16:53 +01:00
b2542b86f7 stub and rectify interfaces defined thus far.
...compilation PASS again
2015-11-28 23:50:56 +01:00
d4c017fa73 WIP: settle on the Tangible interface 2015-11-28 21:43:09 +01:00
9af20b7cf6 WIP: BusTerm needs to be a concrete class
...providing the standard implementation of UI-Bus connectivity.
It seems reasonable to place all of the UI-Bus implementation into
a single translation unit
2015-11-28 20:55:28 +01:00
1eda2a070b harmonise the form of the header include guards
no trailing underscore
2015-11-28 18:36:35 +01:00
2704ad4512 decide upon the actual mechanics of command binding and invocation 2015-11-28 08:15:32 +01:00
42cec6d604 decision to follow the generic approach (#978, #979) 2015-11-28 05:51:53 +01:00
7b16c6b130 fundamental concerns regarding command binding
prompted by first attempt to define the Tangible interface...
ZOMG! And I thought I might be able just to code-up that stuff
2015-11-28 01:20:40 +01:00
d04e6d74d8 WIP: arrange some elements needed for MockElm implementation 2015-11-27 19:24:00 +01:00
bb627fc1f8 draft of the UI-Bus communication structure
what you see here now is just the tip of the icebearg...
If we follow this route, the Lumiera UI will become way more
elaborate and responsive than average desktop applications
2015-11-26 21:10:38 +01:00
6a0b9980e3 After a looong break.... start reading code
wtf was I doing before that damn release and packaing business
2015-11-21 03:39:07 +01:00
e80aed17f3 workaround(#972): catch log and swallow errors on CSS loading
This allows at least to bring the UI up, even if loading
our custom theme and stylesheet fails.
2015-11-03 05:04:06 +01:00
03eb0ff8f1 Pre-release 0.pre.03
This is a development snaphot pre release of Lumiera.
It features codebase maintenance, upgrade to C++14 and GTK-3
and some work towards a Proc-GUI connection (unfinished)

Update README, AUTHORS, LICENSE and similar release docs.
2015-11-02 22:19:26 +01:00
08e7e3df15 prefer more readable bool operator spelling
especially the '!' for negation is sometimes too terse
and easily overlooked.
2015-09-25 03:12:04 +02:00
9ff79b86cf fix warnings found by CLang (3.5)
Note: not fixing all relevant warnings.

Especially, the "-Woverloaded-virtual" of Clang defeats the whole purpose
of generated generic interfaces. For example, our Variant type is instantiated
with a list of types the variant can hold. Through metaprogramming, this
instantiation generates also an embedded Visitor interface, which has
virtual 'handle(TY)' functions for all the types in question

The client now may implement, or even partially implement this Visitor,
to retrieve specific data out of given Variant instance with unknown conent.
To complain that some other virtual overload is now shaddowed is besides the point,
so we might consider to disable this warning altogether
2015-08-16 01:37:04 +02:00
dece405801 LANDING: transition to GTK-3
This switches the Lumiera UI from GTK-2 to GTK-3
Unfortunately, this move breaks two crucial features, which have been
disabled for now: the display of video and our custom timeline widget.

Since both of these require some reworking, which in fact has already
started, we prefer to do the library and framework switch right away.
2015-05-30 17:11:41 +02:00
670c670d55 style-adjustment: GUI indentation, naming and braces
over time, a specific Lumiera code writing style has emerged.
The GUI, as it stood, used somewhat different conventions,
which now have been aligned to the common standard.

Basically we use GNU style, with some adjustments for OO-programming,
we prefer CamelCase, and write TypeNames uppercase, variableNames lowercase
2015-05-29 04:44:58 +02:00
d964e98601 style-adjustment: GUI namespaces
it is a widely accepted rule to shape names with the usage site in mind.
Especially this means, that we use the singular form for all kinds
of collections and assortments.

Thus, the namespace should be called "widget" not "widgets",
because at usage site this becomes gui::widget::TimelineWidget

Likewise for "dialogs" and "pannels"
2015-05-28 18:47:25 +02:00
28d18a7326 refactoring: better name for the query focus shifting operation
previously this operation was named 'attach', which an be confused
with attching an object to this location. Indeed, the session interface
even offers such an attach function. By renaming the focus moving
operation into QueryFocus::shift(Scope), this ambiguity is resolved
2015-01-08 15:13:27 +01:00
7bd3eafd46 adjust gui code indentation 2015-01-07 00:53:03 +01:00
8b6177a1c5 Design: Backbone of the GUI
This is the first step towards a generic backbone to connect
any GUI elements to the session within Proc-Layer.

It is based on a spefic understanding of Model-View-Controller,
which turns the Model-Controller interactions into messages.
2015-01-06 23:44:58 +01:00
371c13f790 add TODO markers regarding #959
Some parts of the GUI model will be remoulded
2015-01-05 15:47:23 +01:00
3dccb77245 clean-up: use dashes in filenames 2014-10-23 23:04:33 +02:00
41a711120c planning the access structure to session content
initial considerations; there is a concurrency problem, since
all of session handling within Proc is deliberately not threadsafe.
Thus the decision is to make this the gui::model::SessionFacade's responsibility
2014-10-19 05:54:20 +02:00
e02a9d213d enable special unit-tests to link against the gui 2014-10-18 04:27:07 +02:00
b6d131bc35 Start remoulding the Timeline display: mark deprecation (#955)
Mark parts of the timeline state handling which will certainly
not be retained: any part where the GUI widgets "hold" some kind
of model. GUI widgets shall be *mapped upon* a model representation
and *wired* with callbacks.

Especially I am suspicious when GUI presentation code "reaches into"
any kind of model data structure to find out something. It should
be the other way round (dont call us, we call you)
2014-10-17 03:01:11 +02:00
994a0e718b WIP mark the point where we lost the draw() callback during GTK3-transition
actually we should make our timeline a real custom widget,
and do it according to the letter. I.e. really implement
all those callbacks which are recommended, but no other
callbacks.

This has the additional benefit of being able to retrieve
the drawing style in the official way, and define our own
CSS classes, which can be styled by the user in a systematic way.
2014-10-14 04:20:15 +02:00
819a81d86d Suppress GUI shutdown crashes(#937, #172)
This is not really a solution, but kind of narrowes down the problem.
Our GUI uses an obsolete C-ish approach at releasing resources at
several points. This is probably a left-over from earlier days.

Especially since we started out with libGDL without C++ wrappers.
And at that time, we didn't use smart-pointers, as we should do,
but we tried to do things manually, which is an approach which never
works in an event driven and condition based environment. Goto fail.


Here I just commented out the manual clean-up code from several dtors.
The real solution would be not to allocate these resources through
the raw C calls at first place, but rather use the mm-wrappers
and leave it to them to unwind at the right moment.

TODO:

- scan the GUI code for *every* instance where we still muck around with gobjects
  and either replace that by a mm-wrapper, or wrap it in a smart handle.
- make sure that *all* dtors are either empty, or really airtight and EX_FREE
2014-10-14 04:17:56 +02:00
afaad7044c Identified possible GUI shutdown crasher. To be investigated
Our GUI shutdown logic looks rather confused. Why the hell do
some widgets "unregister" themselves in a dtor. This should never
be necessary. Maybe it's a leftover from C-style programming
and obsolete now, after the switch to GDLmm
2014-10-13 02:44:15 +02:00
5b6ebeaa5f stylesheet: finish definition of a base style
- text entry colours
- hover / mouse over
- disabled entries
- ensure consistent menu styling
2014-10-09 03:44:02 +02:00
5fdee24bf5 stylesheet: default borders and entry appearance
the problem seems to be the interplay with the installed user
theme; what looks well with one theme is messed up with another
one, quite insidious.

Attempt to settle down on a set of default definitions
for borders and element background colors, which make the
Lumiera Gui "dark" but still respect the user's theme
for geometry and widget style
2014-10-08 05:16:43 +02:00
51b81640eb first round of style porting: basic background colours 2014-10-07 04:56:05 +02:00
1c01192872 load a CSS style sheet and install it globally
verified: basically works
todo: better handling of parse errors.
Currently this is treated as an unexpected exception and just
terminates the whole application, without any suitable diagnostics.
This makes working on the stylesheet somewhat brittle. GTK-3 actually
offers a signal to be invoked in case of CSS parsing errors

(see #953)
2014-10-07 03:13:58 +02:00
f5a995514f publish the new GTK-3 style under a GPL 2+ or CC-By-SA dual license 2014-10-07 01:19:50 +02:00
38bc139778 GTK-stylesheet: change name to gtk-lumiera.css
the mechanism for configuring and locating this file is just fine
and can be retained. Of course, the content of the stylesheet
remains to be ported
2014-10-07 00:59:03 +02:00
8a817f1ab7 Make Video Widget NOP; GDK Drawing no longer supported (#950)
Comment out the active part of the GdkDisplayer implementation,
but retain the class, to make compilation pass.

With the Switch to GTK-3, only Cairo drawing is supported.
We need a new solution for video display...
2014-10-05 09:32:06 +02:00
Michael Fisher
ea8358c661 is_visible to get_visible (gtkmm3) 2014-10-05 08:40:55 +02:00
Michael Fisher
ac3ef9f469 Project: join GTK-3 and GDLmm port 2014-10-05 08:38:38 +02:00
Michael Fisher
c63e7f9b6e Adapt Pannel Button
Panel Button implementing the MenuButton::get() API
to retrieve MenuItems.

Fixed broken Panel Menu's 'Lock' ability due to GTK move
2014-10-05 08:16:59 +02:00
Michael Fisher
a86f3bf497 Adding support to append Separator Items for MenuButton
Updated PanelBar to use this API
2014-10-05 08:16:59 +02:00
Michael Fisher
00f29ea3d5 Aggressive code pruning in the ButtonBar.
Again, default event handlers appear to be working better
than the previous overrides. Subject to re-implementation
2014-10-05 08:16:59 +02:00
Michael Fisher
cf3a0b49ce Commenting test code 2014-10-05 08:16:59 +02:00
Michael Fisher
0315931eba Upgrade the MenuBar
Implement new MenuBar::append API (partial).
Also adding if 0's and Gtk3 FIXME annotations
2014-10-05 08:16:59 +02:00
Michael Fisher
0c03e01ce6 Updating MenuButton to use Gtk::UIManager for menu creation 2014-10-05 08:16:59 +02:00
Michael Fisher
ed86ab0807 Aggressive code pruning.
Note: Default event handlers for Gtk::Box appear to be working better
than our previous overrides. Subject to re-implementation
2014-10-05 07:49:57 +02:00
Michael Fisher
53124624f0 PanelBar Gtk3 maybe update. GtkRequisition related 2014-10-05 07:49:57 +02:00
Michael Fisher
a629d8a9f1 Button Bar Gtk3 fixes (round 1). 2014-10-05 07:49:57 +02:00
Michael Fisher
f365791047 Annotating for removal. No Gtk3 support 2014-10-05 07:49:57 +02:00
Michael Fisher
7e6eff9e6a gtk3: timeline widget uses 'get_visible' instead of 'is_visible' 2014-10-05 07:49:57 +02:00
Michael Fisher
b1293b130f Updating legacy functions to GTK-3
Updating legacy Gtkmm 'set_flags(Gtk::NO_WINDOW)' calls
to use set_has_window(bool) in timeline custom widgets
2014-10-05 07:49:57 +02:00
Michael Fisher
c64de14fbf Changes to allow the gtk3 GUI to at least build.
Lots off commented out blocks of code
but most issues are related to simple function name changes,
set/get_flags calls, anything that has to do with a Gtk::Style...

Plan of attack from here is to go one-by one of each commented-out or code and update to gtk3 specs.
2014-10-05 07:49:57 +02:00
Michael Fisher
fd95c74bb8 Assertion to investigate GLib warnings
trying to track down where these messages

  GLib-GObject-CRITICAL **: g_object_unref: assertion G_IS_OBJECT (object) failed

are coming from.  These appear when iconifying panels.
2014-10-05 05:34:25 +02:00
Michael Fisher
708c977d57 Remove unused GDL headers 2014-10-05 05:34:19 +02:00
Michael R. Fisher
13a27a8fd8 Comment problematic code 2014-10-05 04:37:34 +02:00
Michael R. Fisher
d42d917b4c House Cleaning 2014-10-05 04:37:34 +02:00
Michael R. Fisher
2d8805c554 Gdlmm port nuances. Signals/Containers etc... 2014-10-05 04:37:34 +02:00
Michael R. Fisher
68c6cef003 Individual Panels initial Gdlmm port 2014-10-05 04:37:34 +02:00
Michael R. Fisher
eb4cdcd975 Panel Manager ported to Gdlmm-1.0 2014-10-05 04:37:30 +02:00
e35a45a65e tricky header reordering to support a hackish-workaround (#944)
right now we have to defeat an unfortunate static assertion in
the standard library, which is expected to go away in the future.
We use a hack to hijack the problematic definition with the preprocessor,
which requires our header to be first.
2014-08-17 08:03:21 +02:00
f02481bb90 fix include order in GUI headers
the rules are:
- our own headers go before any library headers
- all headers need to be spelled relative to include root
- ensure that gtk is always included via gui/gtk-base.hpp
2014-08-17 07:02:48 +02:00
f826ab1ee5 C++11 transition: get compilation to pass again
...but we have still 12 test failures
2014-04-28 01:34:03 +02:00
f28ad3cf74 Ticket #940: solution for binding GUI signals
* use a development snapshot of lib SigC including the recent C++11 adaptations
 * never include whole namespaces. Here we got a clash between std::bind and sigc::bind
 * use lambdas
   * to make the binding code more readable
   * to take the nested invocations apart, which resolves the return type ambiguity
2014-04-27 21:28:52 +02:00
761bab5647 C++11 transition fixes
- comparison of weak-pointers
2014-04-05 22:20:38 +02:00
bb5db0ebd5 minor improvement to the GUI-model Sequence
including a LUID based hash identity
2014-04-05 22:18:37 +02:00
7be1b7d35d Switch from TR1 preveiw to the new standard headers
- functional
- memory
- unordered collections
2014-04-03 22:42:48 +02:00
5be52d4a55 Ticket #925: remove LUID from interface/plugin specifications
In the November developer meeting, Christian and I agreed that
it's best to remove that offending LUID specifications altogether.

Those embedded LUIDs where one of the issues blocking the transition to C++11
2014-03-16 02:21:07 +01:00
c848903fea Pre-release 0.pre.02
This is a development snaphot pre release of Lumiera.
Update README, AUTHORS, LICENSE and similar release docs.
2013-10-30 02:35:20 +01:00
888099466f release prep: remove defunct autotools buildsystem 2013-10-29 03:47:50 +01:00
6822a9e2fb DOC: reorganise the Doxygen configuration and structure
- upgrade the configuration to a current version
- provide a frontpage with cross-links to other documentation
- define a set of modules; relevant classes and files can be
  added to these, to create a exploration path for new readers
- fix a lot of errors in documentation comments
- use a custom configuration for the documentation pages
- tweak the navigation, the sections and further arrangements
2013-10-25 06:34:38 +02:00
974c670d41 fix **** in doxygen comments
to make them stand out more prominently, some entity comments
where started with a line of starts. Unfortunately, doxygen
(and javadoc) only recogise comments which are started exactly
with /**

This caused quite some comments to be ignored by doxygen.
Credits to Hendrik Boom for spotting this problem!

A workaround is to end the line of stars with *//**
2013-10-24 23:06:36 +02:00
0ea37402d2 Ticket #934: switch entire code-base to use the new Singleton factory
lib::Depend<TY>  works as drop-in replacement for lib::Singleton<TY>

This changeset removes the convoluted special cases like
SingletonSub and MockInjector.
2013-10-20 03:19:36 +02:00
451b0abec5 spelling and typos 2011-12-24 05:48:31 +01:00
34f2de641f Remove Debian/Lenny workarounds
definitively requiring Squeeze now
2011-12-03 03:18:15 +01:00
d6fa67f2b8 refactor zoom smothing into TimelineViewWindow 2011-11-27 01:28:48 +01:00
a6392f5d14 review and annotate design aspects regarding zoom handling 2011-11-27 00:52:10 +01:00
d58fa9129c clean-up: remove direct access to the selection value 2011-11-26 23:32:56 +01:00
177b85ecf2 Integrate timeline work: zooming and scaling 2011-11-26 18:39:26 +01:00
Michael R. Fisher
65a29244af The tool also needs updated on TimelineState Change 2011-10-23 09:52:12 -05:00
Michael R. Fisher
1bb584f895 Removed some TODO's 2011-10-23 04:52:30 -05:00
Michael R. Fisher
0aa3ca76d1 Created and Applied TimelineWidget::ZoomSmoothing 2011-10-23 04:45:10 -05:00
Michael R. Fisher
6c17d06e66 Timeline is no longer zoomed in to far on startup. See timline-view-window.hpp int64_t timeScale for explanation 2011-10-23 04:20:39 -05:00
Michael R. Fisher
b87b6078ad Adding TimeSpan param to SelectionListener's signal 2011-10-23 00:20:48 -05:00
Michael R. Fisher
3811183546 Added SelectionListener handling selection changing events 2011-10-22 21:53:23 -05:00
Michael R. Fisher
8ff36fc209 Timeline selection is now controlled by lib::time::Control 2011-10-22 20:27:29 -05:00
4acc9d247a maybe fix: try to connect the selection control the other way round 2011-10-23 02:41:57 +02:00
Michael R. Fisher
c9671b654e time::Control Integration First Commit 2011-10-22 19:03:17 -05:00
Michael R. Fisher
ca634bdd9c House Cleaning 2011-10-22 22:14:48 +02:00
Michael R. Fisher
6046749f19 Integrating time::Control into ibeam tool. 2011-10-22 21:48:57 +02:00
4f1d7e1d3f clean-up GUI includes. Solving problems with tr1::ref vs. boost::ref 2011-10-22 21:45:52 +02:00
2730fa8d7a a bit of stylistic cleanup
- using std::tr1::shared_ptr in namespace gui
- thus removing a lot of std::tr1 qualifications
- fix some includes. Should be relative to 'src'
- interface classes should declare a virtual dtor!
2011-10-22 02:49:30 +02:00
Michael R. Fisher
c9a0209a0b Fix ParentTrack: using std::tr1::enable_shared_from_this 2011-10-22 01:35:45 +02:00
Michael R. Fisher
9a1987ba24 Ticket #796: Switch GUI from boost::shared_ptr to std::tr1::shared_ptr.
ParentTrack and TimelineLayoutHelper need to be fixed
2011-10-22 01:26:24 +02:00
f1a4489470 Fix minor problems after merge 2011-10-21 00:58:15 +02:00
c06c49e782 Join latest GUI addions (zoom slider) and player design/implementation work 2011-10-20 04:29:14 +02:00
Michael R. Fisher
f851c875ed Zoom Slider Position remains after a sequence change 2011-10-11 14:39:20 -05:00
63ba43d446 fix: TimelineBody not zooming was due to this omission in my change
silly me!
2011-10-11 01:24:39 +02:00
Michael R. Fisher
d1f07d7088 TimelineBody Is Zooming again now 2011-10-10 18:01:10 -05:00
Michael R. Fisher
540357de9f Comments added 2011-10-09 21:00:31 -05:00
Michael R. Fisher
91cc3f90a0 TimelineZoomScale::on_timeline_state_changed method implemented. Other timeline components need fixing now (seems only the ruler is zooming now) 2011-10-09 20:54:55 -05:00
fb28592082 more cleanup: use the propagated timelineState directly 2011-10-10 01:42:03 +02:00
5fe1debd5b ZoomScale: rely on the state change signal for the view window 2011-10-10 01:07:10 +02:00
5905fdf0cb change definition of TimelineStateChangeSignal
the timeline-state-change signal now delivers
the new TimelineState object immediately, instead
of requiring the listeners to pick it up
2011-10-10 00:08:50 +02:00
Michael R. Fisher
357bfaa674 Added pointer to TimelineViewWindow in TimelineZoomScroll 2011-10-09 15:34:21 -05:00
caace00dd5 Review the new TimelineZoomScale widget code 2011-10-07 03:49:51 +02:00
Michael R. Fisher
e0463da204 Added TimelineZoomScale widget 2011-10-06 22:58:50 +02:00
Michael R. Fisher
c79b28fe7c Replacing zoomIn and zoomOut buttons in the TimelinePanel with a new TimelineZoomScale widget 2011-10-06 22:49:20 +02:00
95bb5e64aa WIP desiging the interplay of BufferProvider and BuffHandle 2011-09-25 19:26:05 +02:00
Stefan Kangas
e34bb5ead1 Fix autotool build again, still fails on setup.ini 2011-09-15 04:35:08 +02:00
7656e5d500 adapt GUI to use the new Time framework 2011-05-16 08:38:01 +02:00
ef126283eb add symbolic constant for "neutral" time.
Note: it's rather arbitrary choosen,
because any time grid can define its own origin.
You must not assume that the origin of any time axis
is located at Time::ZERO !!
2011-05-16 04:37:03 +02:00
b9861ef88f WIP completely remove the old Time wrapper 2011-05-15 22:51:02 +02:00
1e1c3706dc update some DIR_INFO entries 2011-04-05 00:44:30 +02:00
b843546922 cumulated build/release fixes
up to corresponding debian/0.pre.01-3
- compile issue (digxel.hpp)
- SCons missing config dependency on test-only
- 32/64bit fixes
2011-03-31 18:43:50 +02:00
65d28b4018 Gui: rework resource loading to make the application fully relocatable 2011-02-07 09:56:27 +01:00
87c70d0b1f Gui: some typedefs for Glib::ustring
...helps to write way shorter signatures
2011-02-07 09:56:08 +01:00
421a81b25b Gui: WindowManager and GtkLumiera refactoring
- split off the tricky basic GTKmm includes
- reduce the clutter in the gtk-lumiera.header
- make GtkLumiera a singleton, placed into static memory
- remove all static functions from WindowManager
2011-02-07 09:55:57 +01:00
e84ceec9b5 refactor some lib facilities
- Cmdline into namespace lib
- test coverage for the SearchPath iterator
2011-02-05 23:53:37 +01:00
e73bea379c Adjust some Copyright headers
List of years instead of a range is better
2011-02-05 20:56:51 +01:00
ad246ad31d Merge Buildsystem adaptations for installing Lumiera
- use custom builders
- clean up specification of target paths
- generated executable is fully relocatable
- read a bootstrap INI instead of compiled in searchpath
2011-02-05 15:54:24 +01:00
51ef755a4f Merge Timehandling draft and GUI DrawStrategy and TimelineEntiy refactorings
Merge branch 'gui' into install
2011-02-05 14:30:11 +01:00
Stefan Kangas
2fba7aba2c Move draw functionality to timeline::Entity base class 2011-01-14 18:46:41 +01:00
Stefan Kangas
1c284fb497 remove three unnecessary #includes 2011-01-14 18:36:26 +01:00
Stefan Kangas
a127ec7873 fix three #include paths for cairomm 2011-01-14 16:57:34 +01:00
Stefan Kangas
e947d6f053 Add DrawStrategy object for timeline entities 2011-01-14 16:57:34 +01:00
Stefan Kangas
944406f4a3 Remove redundant '*' in many doxygen style comments 2011-01-14 16:57:34 +01:00
Stefan Kangas
62a05d003c add new baseclass Entity for things placed on timeline 2011-01-14 16:57:34 +01:00
Stefan Kangas
7f615d734f WIP: make clips selectable in timeline 2011-01-14 16:57:34 +01:00
Stefan Kangas
5c4992310e several style fixes, underscore to camel case 2011-01-14 16:57:34 +01:00
Stefan Kangas
7500732976 Move Clips for ClipTracks to the GUI model. 2011-01-14 16:57:33 +01:00
Stefan Kangas
3f4c7a5e46 Spelling and style fixes 2011-01-14 16:57:33 +01:00
Stefan Kangas
aed9193cfa Move clip name and duration to GUI model. 2011-01-14 16:57:33 +01:00
Stefan Kangas
c01d6dbd0b Move Track enabled/locked state to GUI model. 2011-01-14 16:57:33 +01:00
237d287021 change time.h into a multilingual header 2011-01-13 03:36:12 +01:00
Stefan Kangas
7a5ed1220d Replace relative #include paths with absolute paths. 2010-12-27 05:50:40 +01:00
Stefan Kangas
bdb9832f29 Rename "Resources" to "Assets" 2010-12-26 22:30:07 +01:00
Stefan Kangas
86c7003d6d Commit CairoUtil class forgotten in commit 60ccdd. 2010-12-26 22:19:09 +01:00
Stefan Kangas
fffb1b89da Fix compilation problems on the buildserver, cont. (Ticket #735) 2010-12-26 09:55:34 +01:00
Stefan Kangas
60ccdda018 Replace several uses of GdkColor with Cairo::SolidPattern. 2010-12-25 21:29:53 +01:00
Stefan Kangas
063e5887b4 Fix Ardour Timecode widget: compilation problems on the buildserver. (Ticket #735) 2010-12-25 04:39:30 +01:00
Stefan Kangas
87ad80f17e Fix typos. 2010-12-24 23:19:04 +01:00
Stefan Kangas
e0da4c2378 Make Timeline default to Arrow Tool instead of Ibeamer Tool. 2010-12-24 23:10:00 +01:00
Stefan Kangas
0594ea26ad Make Timeline Arrow Tool use the standard left cursor. 2010-12-24 22:46:22 +01:00
Stefan Kangas
1166339387 Use Time instead of gavl_time_t in the timecode widget. 2010-12-24 19:39:12 +01:00
Stefan Kangas
799a8188de First implementation of track visible in timeline. 2010-12-24 19:34:25 +01:00
Stefan Kangas
74fce587bd Fix several incorrect comments (refering to the wrong file). 2010-12-24 19:34:25 +01:00
Stefan Kangas
a6fd1ec6fd Give names to the default ClipTracks in the GUI test code. 2010-12-21 09:52:27 +01:00
e1708f33b9 Merge testsuite and builder changes from Lumiera master 2010-12-18 02:30:02 +01:00
2c992a1a4d Fix a printf warning in GUI 2010-12-18 01:01:27 +01:00
3f1b7651e9 GPL header whitespace 2010-12-17 23:28:49 +01:00
Stefan Kangas
46d4b4ac66 First version of timecode widget adapted from Ardour. 2010-12-17 19:28:10 +01:00
Stefan Kangas
cc95c0df97 Fix two minor typos 2010-12-06 13:46:50 +01:00
Stefan Kangas
2909804538 Add preliminary implementation of a menu option Window/Close Window 2010-12-06 13:40:32 +01:00
Stefan Kangas
df15c3d654 Change format of placeholder in About/Credits to stop it from being a clickable link 2010-12-06 03:41:07 +01:00
Stefan Kangas
9a881c95df Enable lock/unlock and disable/enable individual tracks in the GUI 2010-12-06 03:40:15 +01:00
Christian Thaeter
99d5d3765f FIX: Add remaining tests to the Makefiles, sort Makefiles 2010-07-16 21:44:44 +02:00
adba17472e Merge recent small GUI fixes by S.Kangas
Merge commit 'skangas/minor-fixes'
2010-07-14 04:46:51 +02:00
Stefan Kangas
a0804920bd Fix several minor typos 2010-07-11 19:59:08 +02:00
Stefan Kangas
fe87453441 Add tooltips to timeline panel buttons 2010-07-07 04:07:39 +02:00
Stefan Kangas
204f3c7ee9 add http:// to website, making link in about window clickable 2010-07-05 05:01:06 +02:00
daba3f2a09 fix some namespace doxygen descriptions 2010-06-20 01:53:21 +02:00
acd0671390 clarify some comments regarding GUI start 2010-02-13 17:41:16 +01:00
Christian Thaeter
b8336879f7 autoconf/automake cleanup
* refactor configure.ac to have distinct sections to configure each
   subsystem.
 * Dedicated LUMIERA_<subsys>_CFLAGS|_LIBS vars
 * Fix Makefile.am's to use them, remove unnecessary dependencies

Stray dependencies to be refacored:
 * tests/Makefile.am has dependencies on proc and backend
  - should be moved to tests/library/Makefile.am etc anyways
 * tests/lib/Makefile.am has dependency on GUI left


 * src/tool/Makefile.am links GUI stuff generally, thats ok

 * one threading test is broken, we don't care, merging new threadpool in
   next.
2010-01-17 15:48:30 +01:00
8e9edad9e7 fixes to make this dummy compile again 2009-10-11 07:10:29 +02:00
a8e606ba27 Merge NoBug release related changes 2009-10-11 07:00:48 +02:00
f313a0fb14 include GUI work
Merge commit 'lumi/gui'
2009-10-11 05:46:46 +02:00
70b4b0ad41 Fix some more format warnings 2009-09-05 19:11:17 +02:00
Joel Holdsworth
5bfdf73f7d Replaced gavl_time_ts with lumiera::Times 2009-08-30 16:26:27 +01:00