Commit graph

5035 commits

Author SHA1 Message Date
9b8fae1a9b (re)consider the problem how to deal with mandatory/optional object fields
this is a tricky problem and a tough decision.
After quite some pondering I choose to enforce mandatory fields
through the ctor, and not to allow myself cheating my way around it
2016-12-03 19:37:52 +01:00
8666daca94 flesh out the buildup of the control hierarchy
TODO
 - define the actual diff bindings
 - find out how to inject the views
2016-12-03 06:22:21 +01:00
f995dd51e2 define creation and control structure of TimelineWidget 2016-12-03 05:42:34 +01:00
14588dbc19 clarify the principles of UI - Core collaboration
it occurred to me that effectively we abandoned the use of
a business facade and proxy model in the UI. The connection
becomes entirely message based now.

To put that into context, the originally intended architecture
never came to life. The UI development stalled before this could
happen; possibly it was also hampered by the "impedance mismatch"
between our intentions in the core and such a classical, model centric
architecture. Joel several times complained that he felt blocked; but
I did not really understand this issue. Only recently, when I came to
adapting the timeline display to GTK-3, I realised the model centric
approach can not possibly work with such an open model as intended
in our case. It would lead to endless cascades of introspection.
2016-12-02 20:07:31 +01:00
3ffd511a76 consider lifecycle and instance management of the timeline 2016-12-02 19:34:38 +01:00
3c976485ba DOC: add some explanations to the drawing from yesterday 2016-12-02 19:14:45 +01:00
d13f42128e DOC: TiddlyWiki has split into "classic" and TiddlyWiki-5
...better add the URL to tiddlywiki.org,
which seems to be the OpenSourceProject

not sure about the intentions of tiddlywiki.com
2016-12-02 19:13:24 +01:00
b946884228 fix compilation
...shows again why its not adwisable to use wildcard namespace include.
Well, the old timeline code is going away soon, and for the rewritten new one,
we'll learn from such structural problems
2016-12-02 04:36:42 +01:00
7c09f55a9a DOC: drawing to show the structure of timeline display 2016-12-02 04:07:46 +01:00
0b1bc6a579 define and document the building blocks of the new timeline UI
these are just empty class files, but writing a basic description
for each made me flesh out a lot of organisational aspects of what
I am about to build now
2016-12-02 01:53:00 +01:00
67beeab25a start with actual rework of the timeline display
draft a concept for timeline layout management
2016-12-01 21:01:45 +01:00
170c505a8a (cont) analysis of timeline display control 2016-11-28 03:41:25 +01:00
f5ea31a533 consider how diff application might interplay with display changes
...it seemed first that we'd might run into a very fundamental problem;
but after some consideration it turns out the interspersed display manager
and the decoupling between model/presenter and widget happens to mitigate
this problem as well.
2016-11-26 04:18:43 +01:00
5badfe211e expand analysis regarding changes of the display structure 2016-11-21 01:37:54 +01:00
b1d0eaad8e expand analysis on the (possible) global structure of timeline display 2016-11-20 23:54:11 +01:00
3757a56ac9 more detailed planning of architecture for clip presentation
...first UML diagram created with Umbrello!
2016-11-20 17:52:21 +01:00
25328865fa a rough solution draft for dealing with the clip presentation problem 2016-11-19 19:42:33 +01:00
e61eb4959e continue analysis regarding clip display 2016-11-19 04:43:45 +01:00
c39c49b998 DOC: abandon BoUML and start over with Umbrello (closes #960)
BoUML was close sourced by its author and consequently dropped
from Debian. We use UML as a drawing and documentation tool,
and thus we'll just start over with the /obvious/ choice,
which is the Umbrello tool.
2016-11-19 00:13:19 +01:00
f56b7ed576 DOC: reorganise tiddlers regarding custom widgets and custom drawing
the content of the "GuiTimelineWidgetStructure" tiddler is
actually related to architecture questions related to custom widgets
in general, plus working notes regarding an investigation of the
Gtk::Layout widget.
2016-11-18 05:47:12 +01:00
251fbfc418 first draft planning for clip display in the UI (#1038) 2016-11-18 05:13:17 +01:00
df46c3f901 Doxygen: fill in missing file level headlines for Proc-Layer (Player) 2016-11-09 23:40:46 +01:00
fb15c258ea Doxygen: fill in missing file level headlines for Proc-Layer (top-level) 2016-11-09 23:17:02 +01:00
bfccd99623 Doxygen: fill in missing file level headlines for Proc-Layer (Session) 2016-11-09 22:22:55 +01:00
6577a392e3 Doxygen: fill in missing file level headlines for Proc-Layer (Builder) 2016-11-09 20:43:45 +01:00
bb139a5c73 Doxygen: fill in missing file level headlines for some supplemental code 2016-11-09 20:09:19 +01:00
846e9af174 Doxygen: fill in missing file level headlines for Proc-Layer (Engine II) 2016-11-09 19:50:16 +01:00
9676d17366 Doxygen: fill in missing file level headlines for Proc-Layer (Engine I) 2016-11-09 19:13:52 +01:00
a5c9951012 Doxygen: fill in missing file level headlines for Proc-Layer (Controller) 2016-11-08 14:34:39 +01:00
88405c3f2a Doxygen: fill in missing file level headlines for Proc-Layer (Assets) 2016-11-08 14:18:28 +01:00
faa9cfca14 Doxygen: fill in missing file level headlines for Proc-Layer 2016-11-08 13:33:17 +01:00
8e6936d0ad Doxygen: fill in missing file level headlines for the Library 2016-11-08 13:18:05 +01:00
545a07db33 Doxygen: fill in missing file level headlines for the Library (timecode handling) 2016-11-07 16:22:04 +01:00
933cd81c18 Doxygen: fill in missing file level headlines for the Library (test helpers) 2016-11-07 15:51:41 +01:00
a3a245ec19 Doxygen: fill in missing file level headlines for the Library (metaprogramming) 2016-11-07 15:39:13 +01:00
311ed218cb Doxygen: fill in missing file level headlines for the GUI (2) 2016-11-06 14:38:12 +01:00
b258bc9275 Doxygen: fill in missing file level headlines for the GUI 2016-11-06 14:19:14 +01:00
f694f9aa2d Doxygen: fill in file level headlines for further application core services 2016-11-04 22:29:24 +01:00
aa335b5605 Doxygen: fill in missing file level headlines for config and query frameworks
Added warning tags to several headers of the first config system draft from 2008
since this effort is stalled and likely to be implemented differently
2016-11-04 21:26:56 +01:00
ddc915db41 Doxygen: fill in missing file level headlines for the Backend 2016-11-03 19:37:38 +01:00
dbc75fac7d Doxygen: we missed the plain C code 2016-11-03 18:26:43 +01:00
6339a288dd Doxygen: insert actual filename into those automatically added file comments
HOWTO
for F in $(find src -type f \( -name '*.cpp' -or -name '*.hpp' \)  -exec egrep -q '§§§' {} \; -print);
    do D=$(basename $F);
       sed -r -e"s/§§§/$D/" $F ;
done
2016-11-03 18:22:31 +01:00
48e9b7594a Doxygen: identify all files lacking a @file comment
reason is, only files with a @file comment will be processed
with further documentation commands. For this reason, our Doxygen
documentation is lacking a lot of entries.

HOWTO:
find src -type f \( -name '*.cpp' -or -name '*.hpp' \) -not -exec egrep -q '\*.+@file' {} \; -print -exec sed -i -r -e'\_\*/_,$ { 1,+0 a\
\
\
/** @file §§§\
 ** TODO §§§\
 */
}' {} \;
2016-11-03 18:20:10 +01:00
1e642dc805 Inv(#1020): remove debugging output
...done thus far!
2016-11-01 23:44:42 +01:00
1fbade3a67 Inv(#1020): find a reliable way to determine extension of the canvas
bottom line
- seems we need to do that manually
- must wait until in the on_draw() callback
- use Container::foreach() to visit all child widgets
- Layout::set_size()
2016-11-01 23:20:43 +01:00
6fd0045a65 Inv(#1020): adjust curtom drawing for scrolled viewport
this makes the custom drawing stiched to the absolute canvas,
allowing to move around with the help of the scrollbars...
2016-10-30 17:08:41 +01:00
90cc17b733 Inv(#1020): learn how to draw a simple line
here we draw a red diagnoal line behind the embedded widgets.
2016-10-30 02:55:38 +01:00
1255a4fc04 Inv(#1020): framework for custom drawing 2016-10-30 02:15:01 +01:00
ae07329ada Inv(#1020): expand some widgets by text change 2016-10-29 18:17:58 +02:00
f8d8a89220 Inv(#1020): reorganise tooltips and accelerators 2016-10-29 18:09:03 +02:00