-
Notifications
You must be signed in to change notification settings - Fork 3
gnustep/apps-thematic
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Thematic.app is a theme editor for GNUstep. Install and run Thematic.app, then read online help for details of what it can do. Alternatively, you can find the help file in Resources/ThematicHelp.rtf The remainder of this file is intended for people wishing to help improve Thematic.app itsself, rather than for people who merely with to use it to create themes. Theming has to be built into the GNUstep GUI in order for a theme editor to be useful ... this will be an incremental process, with capabilities being added to the editor as they are added to the gui library. To work on Thematic, you also need Gorm.app and ProjectCenter.app, and a copy of an rtf editor such as Ink.app if you wish to improve the online help (Resources/ThematicHelp.rtf). Building/using the current editor requires the *latest* version of the GUI from SVN. The major task in theming is now changing all the control drawing code to be themable ... identifying a minimal set of drawing methods for each control and defining the number of tile images needed for each, and updating the code in the GUI library. To help with developing Thematic itsself, we need to add code to deal with assigning tiles for particular controls and overriding theme drawing methods for particular controls. For most controls, this means: 1. Editing ThemeDocument.gorm to add the control to the main document window. 2. Modify ControlElement.m or implement a subclass of ControlElement to handle any special featurs needed for your control. If you create a subclass, this will probably also involve creating a new Gorm file for the inspector for the new control ... see ControlElement.gorm for an example. 3. Edit ThemeDocument.m to integrate the changes. 4. Define any tile images to be used to draw the control by editing Resources/CodeInfo.plist 5. Define any special colors to be used to draw the control by editing Resources/CodeInfo.plist 5. Define any NSInterfaceStyle values or defaults settings which control behavior fo the control by editing Resources/CodeInfo.plist 6. Define methods that can be overridden to draw the control differently ... 6a. Add the methods and a description of each to Resources/CodeInfo.plist 6b. Add template implementations for each method as a file whose name is Resources/xxx.txt where xxx is the method name with any colons replaced by underscores. TO DO We have more to do than just adding new controls to those we support. For one thing, attempting to design an even better iuser interface is always worthwhile. The current ability for Thematic.app to always reflect the current state of the theme under development is great, but it's not safe when you write code which can crass, and in crashing can crash Thematic.app It would be nice to come up with an alternative automatic mechanism for viewing the effects of changes which cannot crash Thematic itsself ... perhaps by running some other example application using NSTask? The code editor is currently glitchy ... which is strage since it's just a textview. This really needs to be improved, whether it's a case for changes in Thematic or fixes in the NSTextView class in the GUI library is not entirely clear. The code editor currently rebuilds the theme after each change ... which can be slow on a slow system. It would be better if, during an editing session, it kept the code in a subdirectory and only rebuilt the source for any methods actually changed. This should actually be quite easy to implement.
About
Application for creating image-only themes for GNUstep.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published