[Geany-devel] project API - Re: project build dialog - Re: [ANNOUNCE] gproject - yet another geany project plugin

Jiří Techet techet at xxxxx
Thu Jun 10 16:10:57 UTC 2010

On Thu, Jun 10, 2010 at 17:39, Nick Treleaven
<nick.treleaven at btinternet.com> wrote:
> On Thu, 10 Jun 2010 17:24:39 +0200
> Jiří Techet <techet at gmail.com> wrote:
>> 1. the GeanyProject structure should be private for the project
>> implementation and contain those things that are relevant to the
>> session-project (I have similar private structure for my project)
>> 2. app->project should contain a structure GeanyProjectSettings that
>> contains only those members relevant for geany (from looking at the
>> sources, it's mainly base_path - I've seen also file_name and
>> build_filetypes_list, but I'm not sure if these are so much
>> necessary).
>> 3. plugins should be able to change the members of app->project (or
>> just replace it)
> BTW, Structure fields in the API are there to avoid having to add
> setter/getter functions.
> I still think that Geany's project support should not be overridden by
> plugins, only augmented. E.g. maybe a plugin could disable session
> management, but Geany still decides when to open and close a project.

Can be, I have nothing against it. What I'm trying to say is that it
should be this way (in OO terminology):

* there is a CoreProject class with the core project functionality
geany requires. What I want is that CoreProject is different from the
current SessionProject (I mean the current project support that I'd
call session ;-), just a subset of it relevant for geany itself.

* there would be extensions of this core functionality - in OO terms,
SessionProject, GProject and GeanyPrj would inherit from CoreProject

> Otherwise it's a mess e.g. with project indentation settings.

Glad you said it first, I feel I have been too negative in the past
two days ;-). I also don't understand why there are the "editor"
options like maximal column width. This seems quite an arbitrary
option taken from the preferences dialog. With such logic you could
put almost anything from preferences into project. I would just remove
it. (On the other hand I understand the indent options, they are
definitely useful.)



More information about the Devel mailing list