Hi everybody,
I'm happy to announce first PreferencesKit preview I have been
working on until recently (with some help from Yen-Ju). It is based
on GSSytemPreferences initial code written by Uli Kusterer. Thanks
Uli :-)
PreferencesKit is a framework which provides various features to
build flexible Preferences-like window in any GNUstep or Cocoa
applications.
Key features :
- Generic plugin model/schema
- Plugins registry mechanism (with search paths) which can be
specialized
- NSPreferencePane and Backbone PrefsModule support
- Possibility to choose between various presentations like toolbar or
table view (where panes are listed)
- Possibility to extend PreferencesKit with new custom presentation
- Facility for Preferences-only applications development (just set up
a main nib file, list plugins to load in a plist and link
PreferencesKit to have an application ready to use)
- Cocoa compatibility (Xcode project bundled)
Here are some PreferencesKitExample screenshots running on both
GNUstep and Cocoa :
<http://www.dromasoftware.com/etoile/experimental/screenshots/
prefskit/prefskit.htm>
PreferencesKit is documented with autogsdoc markup in source code,
but this documentation may be unaccurate on some points at this time.
I plan to correct that soon, then to output this documentation in
html format and make it available on Étoilé website.
In following days, I'm going to polish PreferencesKit API a bit,
especially to support other presentation views like tabs or popup menus.
In a next release (when Étoilé 0.1 will have been released), I would
like to add the possibility to have "light" pane support (they
wouldn't involve to set up a plugin bundle).
Not really soon, I mean in a more long term, I'm planning to break
PreferencesKit in two frameworks which may named :
- PluginsKit (for generic plugin facilities)
- PaneKit (for generic panes facilities, I think panes can be useful
for other sort of windows like inspectors to take an example)
Known bugs :
- Matrix view presentation is still really buggy
- Window locations is shifted downward when you switch to a new
preference pane (in fact, it is a bug in GNUstep NSWindow frame
computation)
You can download the framework from Étoilé repository : <https://
gna.org/svn/?group=etoile>
You can browse the code with this link : <http://svn.gna.org/viewcvs/
etoile/trunk/Etoile/Frameworks/PreferencesKit/>
Most of PreferencesKit features are demonstrated in
PreferencesKitExample, it is worth to take a look at it. Moreover it
is nice template to build new Preferences applications.
Here is the link : <http://svn.gna.org/viewcvs/etoile/trunk/Etoile/
Developer/Examples/PreferencesKitExample/>
That's it,
Quentin.