Project directory structure

Dirk Hohndel dirk at hohndel.org
Wed Apr 3 10:54:08 PDT 2013


That takes a very broad view of what it means to be "interface specific".

But I guess one could argue "core-lib" offers an API

file_needs_saving();

and the UI knows to call this before quitting…

/D



On Apr 3, 2013, at 10:42 AM, Tomaz Canabrava wrote:

> hm...
> 
> from my pov that logic is interface-specific. ( interface-quits, interface-knows-file-is-modified - interface asks user to save. )
> 
> 
> 2013/4/3 Dirk Hohndel <dirk at hohndel.org>
> Tomaz Canabrava <tcanabrava at kde.org> writes:
> >> Seriously, though...
> >>
> >> If I think about the way the current Gtk code works, I think I have an
> >> idea of what you might be talking about.
> >>
> >> Today the UI code calls into the subsurface logic to get things
> >> done. Everything is run from the UI main event loop. Is that what you
> >> mean by "subsurface is a library that is called from the UI"?
> >>
> >
> > Dirk, yes, it is.
> >
> > But if you see the GTK code, GtkInterface has a callback, that calls a
> > bunch of methods ( that are not related to the UI ), and this methods call
> > methods ( that are related to the UI )
> >
> > for instance,
> >
> > void parse_file(const char *filename, GError **error, gboolean
> > possible_default_filename) updates the UI.
> >
> > Parse file is 'logic', shouldn't call 'interface',
> >
> > Interface calls Logic,
> > Interface gets the results
> > Interface Updates Interface.
> >
> > this is good for instance if you want to replace Qt for GTK 3 in the future
> > :P
> > since the UI is not coupled, it's easy to replace.
> 
> Oh, good. So you are saying "be more conscious and careful when
> separating logic and UI. Logic never calls UI, UI calls logic and acts
> on the responses.
> 
> As a theory I like this. I have some concerns about the practical
> implication: it could be, for example, that the program logic determines
> that it needs information and therefore wants to open a dialog....
> 
> Think "end of program". It's the logic that determines that the open
> file has been modified and that therefore we need to ask the user if she
> wants to save the data, right?
> 
> (simplistic example to make the point...)
> 
> /D
> 



More information about the subsurface mailing list