Commit graph

631 commits

Author SHA1 Message Date
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