|
Change Log
|
July 30, 1997 (Version 0.1.0)
-
Added Initial Text Property to OnyxTextBox. Allows it to first be displayed
with desired text.
-
Added ApplicationPreload for any events that must take place before any
windows are created.
July 31, 1997 (Version 0.1.1)
-
Changed the new project window to go to file selection if enter is pressed
in the text box.
-
Entered in the message box tool for general programing.
-
Fixed a problem in saving that would cause an incredible amount of blank
lines to be written to the .cc file. All blank lines are now removed.
-
Added the Class and Resource properties to the window tool.
-
Now onyx uses .onyxrc in the home directory. If nonexistent it will be
created.
-
Added options window. OnyxLocation and EditorCommand now user configurable.
-
Modified OnyxTextButton control. It will now load a blank text button if
it is unable to load the picture for a picture button. Before it would
just segv. This failure can be detected with the Button->PictureFound variable.
It is set to False if this occurs. Although set to true if a text button
was desired, thus checking it won't hurt, it doesn't really make sense and
so will always read true.
-
Included onyxrun.oxp as first sample onyx project. (See README)
August 31, 1997 (Version 0.1.2)
-
Onyx now locates its own ObjectRepository.
-
Fixed a segmentation fault when adding new tools. The problem was located
in OnyxButton.cc
-
The OnyxTextBox cursor is back!!! :) I had forgotten to add FocusChange
to the wanted events.
-
The crazy multi-selections seen in the properties box are gone.
-
Makefiles should now work with Bash 2.0+
-
Window moves and resizes now detected during development. It no longer
needs to be done by hand in the properties window.
-
OnyxMsgBox Create() function is now a dummy function. Show() will implicitly
create and then show the message box.
September 5, 1997 (Version 0.1.3)
-
Project Explorer now uses a tree view to display the project. This is from
a new control OnyxTree which comes directly from the OXListTree class found
with the explorer.
-
Selecting an item in object explorer now selects the correct property list
in the properties window and the correct object if the window is being
display. Likewise, selecting the object on the window will select the appropriate
object in the project explorer and properties window.
-
The toolbox will now dynamically realign the buttons to fit when resized.
-
Update method now added to OnyxWindow. This basically informs the x-server
that the window needs to be redrawn. Other objects will soon have this
method added as well.
-
When custom controls are added it is no longer necessary to explicitly
use the recompile button. The new controls will be compiled during the
next make.
October 15, 1997 (Version 0.1.4)
-
Minor bug fix release. The project explorer in version 0.1.3 could cause
a segmentation fault. Problem fixed. Nothing major added.
October 19, 1997 (Version 0.1.5)
-
The Make window should work better. The button release event wasn't propagating
to the scroll bar. New properties for the OnyxWindow fixed this. It also
responds to resizing the window.
-
The Properties window now responds to resizes (finally!).
-
New objects are no longer named "new_ObjectType". They are now continuously
numbered with a new unique number in the format of "ObjectType#". This
will make all new objects uniquely named.
-
OnyxButton now supports disabled and enabled states.
-
Make will now prompt to save the project if the Makefile does not exist.
Choose "yes" to save and compile, "no" to compile without saving, and "cancel"
to abort the make.
-
onyxrun sample program updated to use the button disabling.
-
New sample, buttonfun. Demonstrates enabling and disabling buttons as well
as using more than one form.
-
Samples are now contained in directories under onyx/doc/samples instead
of just a tar file.
-
Update method added to OnyxLabel, OnyxButton and OnyxCheckBox objects.
-
OnyxCheckBox now generates ButtonClick events as well as ButtonPressed
and ButtonReleased.
-
OnyxCheckBox now supports enabled and disabled states.
-
Most toolbar buttons and menus are disabled if a project is not currently
opened.
-
Stop button no longer kills onyx if the developing program has not been
run yet.
-
Toolbox, Properties, and Explorer buttons now toggle the respective windows
on and off.
-
Lock controls button created. Toggleing it will prevent accidently adding,
deleteing, or moving objects.
October 21, 1997 (Version 0.1.6)
-
Minor bug fix release. The buttons/menus were not enabled when starting
a new project in version 0.1.5. Problem fixed. Nothing major added.
March 6, 1998 (Version 0.3.0)
-
Projects can now be started in any directory and there is no longer a need
to place each project in a seperate directory. OnyX will perform its own
file/directory handling to prevent collisions.
-
"Save File" menu item changed to "Save Object".
-
"Save File As" menu item removed. This may evenually be replaced with "Export
Object" to allow a fast exchange of code between projects.
-
File handling majorly overhauled. The Save Object, Save Project, Save Project
As, now make sense and work more intuitively. The project should now be
more in sync with the programmer's desire. Since all files are handled
internally, changes will not affect the original files until an explicit
save is issued (regardless of any saves with an editor.).
-
Files are no longer automatically created. With a newly created project,
a project save is necessary to write the initial files. Thus, no more surprise
files if you decide not to save the new project and want to trash it.
-
Deletes and renames of object no longer take effect permanently until
you save the object or their parent respectively.
-
Shell starter line now included in project file. File set with execution
status. So now you can start on a project just by "running" the project
file. :) It will automatically start OnyX and open the desired project.
-
Update method added to the OnyxTextBox control.
-
Added OnyxRadioButton to core control set.
-
Onyx windows can now set the background color.
-
Windows being developed will now display a grid for aligning objects.
-
Snap to grid behavior now available during the design process. It is enabled
by default. Current spacing is every five pixels.
-
All object properties are checked against the properties listed in the
onyx object file (.oob) in the ObjectRepository. Any missing properties
are added with default values and all extra properties are removed. Thus,
as new properties are added to the core objects, your old objects will
be able to start using them.
-
OnyxIcon default size changed to 32 x 32. OnyX now overrides the default
directory causing an initial picture to appear. Thus, no more "Now where
did I just put that icon?"
-
OnyxButton updated to reflect changes in the Xclass. The old IsSticky effect
is now entitled IsToggle. The new IsSticky effect will push the button
in and it won't let it pop up with out a Pop() command.
-
Rearranged the buttons a little. Tried to put them in logical groups.
-
Fixed a rather severe bug that would cause OnyX to exit when a key was
pressed in a text box during design time. (Error did not occur in applications
during run time.)
-
Properties window only updates the lines that represent changed properties
instead of updating the entire window.
-
Make and Run combo is now implemented.
-
Makefiles now "make all" by default.
-
Importing and exporting of individual objects between projects now available.
-
Importing and exporting of entire projects is now possible. This allows
for easy sharing of projects between friends.
-
Create Application now available. Selecting this will cause OnyX to extract
only the necessary files from a project and place them in a .tgz file.
When unpacked the .tgz will expand into a directory with the same name as the
application. It contains your application ready for a make and to be run!
(Note: Currently does not add in icons. This will have to be done by hand
until version 0.3.1 or so.)
-
Ahem, did I happen to mention that the menu editor is now available?!?
*the crowd cheers* You can now create your own menu bars with cascading
menus. No limit on the depth. Just place a menubar on your application,
select it, and then start up the menu editor from the tools menu.
-
Drop boxes implemented.
-
Horizontal and vertical scroll bars now available.
-
List boxes are here.
-
Toolbox now autosizes itself to the minimum size required. No extra spaces
on the sides.
-
A warning will be displayed if you have compiled OnyX with a different
Xclass version than it was originally designed with.
-
Toolbar added to the Custom Controls window to allow easier viewing.
-
Toolbar added to the Project Explorer for the exact same reason.
-
Onyx Tree widget added. (Note: it is still in experimental/development
stage).
-
Version control and conversion implemented.
-
Xclass version control active. You get a nice warning message if you compile
with a version of Xclass that OnyX isn't prepared for.
-
The onyx executable and directory have been renamed to OnyX.
-
Overwrite warning now given if you try to save over a pre-existing file.
-
Name of main window now reflects the name of the project being worked on.
-
Some object properties now have read-only or read-write drop boxes to aid
in choosing acceptable values.
-
For any color property, a color selector window can be used. It is activated
by pressing the button that will appear next to the property text
entry.
-
A file browser is now available for any item that requires a file name,
a directory name, or both. If both are available then updating one will
automatically update the other as well.
-
Typing new values for most properties will now be reflected in the visible
object. For example, changing x or y corrdinates will move the item. Note:
You must hit return before the change will be taken. :)
-
Deleting an object no longer forces an expensive (and not to mention annoying)
window flash. The deleted object now just dissapears quietly all by itself.
-
Update method added to OnyxButton. Using it you can now jump back an forth
between text and picture buttons without destroying and recreating it.
Pictures can also be changed this way.
-
Update method added to OnyxIcon.
-
Properties controlling window decorations and available functionality now
accessable in OnyxWindow.
-
Tooltips added to OnyxButton.
-
View window and next window buttons added to the main window.
-
(*whew* Is that enough changes for a single release?)
Note: Here is where the development (unfortunatelly) stopped. I
took over the project recently, ported it to the latest Xclass version and
added a few new custom controls. The changes I made are described below.
--Hector.
September 12, 2004 (Version 0.4.0)
- Ported to Xclass 0.9.1
- Removed redundant delete statements in controls.
- There is now a single OResourcePool object per application, instead of
one per widget instance.
- OnyxTree now makes use of the standard OXListTree.
- Updated OnyxMessage object. All object message passing switched to
OMessage style.
- Updated most controls. Some of them still use redundant redirected OXFrames.
- Enclosed the code of each control in each header inside #ifdef ... #endif
statements, to avoid any occasional recursive include problems.
- Added OnyxObject class: a base class for all OnyX objects.
- Removed the 'Directory' property from all objects except from OnyxWindow.
- Removed the brackets from focused checkboxes in the Custom Controls
window, these were necessary with early Xclass versions which did not
have widget focus highlighting.
- Removed the scrollbar from Project Explorer window, which dated from the
times when Xclass' OXListTree was in development stages and didn't have
any scroll capabilities.
- Removed unecessary code from OnyxTree that was intended to aid with
external scrolling.
- Added OnyxTimer.oob and OnyxTimer.ooc to the Object Repository, so timer
objects could appear in the Toolbox.
- Fixed OnyxWindow::Close(), there is no need to send a ClientMessage
to InternalWindow anymore.
- Most of the toolbar icons were redesigned.
- OnyxDropBox now uses the standard OXComboBox, renamed OnyxDropBox to
OnyxComboBox.
- CreateDevelopmentItems() now calls CreateDevelopmentItem(), duplicate
code was removed.
- OnyxBase: added Font property. Modified OnyxLabel, OnyxButton,
OnyxCheckBox and OnyxRadioButton to make use of the user-specified font.
- Automatically generated Makefiles now use xc-config.
- Corrected OnyxFileDialog.oob, fixed a bug in OnyxFileDialog.cc
(superfluous OXFileDialog delete).
- Added OnyxColorDialog and OXFontDialog to the ObjectRepository.
- Replaced ColorWindow with OnyxColorDialog.
- Added support for quoted strings when reading .oob files, so parameters
could contain embedded spaces (like font names do).
- IntializeInternalMain_cc: escape quotes when expanding "$Y" strings.
- PropertiesWindow.cc: use OnyxFontDialog as FontBrowser.
- Removed InitialText property from OnyxTextBox, since the existing Text
does the job.
- OnyxLabel, OnyxIcon: removed the redundant composite frame.
- OnyxIcon: added support for shaped icons.
- Added BorderType property. Used in OnyxLabel and OnyxIcon.
- Added VerticalAlignment and HorizontalAlignment properties. Used in
OnyxLabel.
- Added a "Save Project" toolbar button.
- Added WindowExposed event.
- Added OnyxDraw, an object that supports drawing primitives.
- Corrected a bug in OpenProject(): during the cleanup of the previous
project structures, only the first element in the various lists was
being deleted. Corrected also the loop for InternalMakefile cleanup.
- Added ResetProject() function, which does a complete cleanup of the
old project structures.
- OpenProject() and NewProjectOpenButton_ButtonClick() now call
ResetProject(). The development environment no longer crashes when
creating a new project while the old one was open.
- OnyxMenuBar: force window position to be 0,0. Force Height property
to be GetDefaultHeight(). Also, the redundant composite frame was
removed.
- "New Project" now chdirs to the parent dir if ValidProject was True.
- "Save Project As..." now supplies the default .oxp file extension.
- Command line arguments are now passed to ApplicationInitialize() and
Initialize(), then forwarded to OXClient's constructor to allow
recognizing of -display xxx option.
- Corrected a bug in InitializeInternal...() functions that caused the
InternalCodeFile list to become corrupted.
- Add OnyxIconLocation and OnyxLocation/ObjectRepository to xclass pixmap
path (done by setting the OnyxWindow Directory property).
- Prefixed all OnyX pixmap names in the icons directory with "onyx_".
- Do not snap-to-grid top-level window movements. That is confusing for both
the user and the window manager.
- Corrected a bug in InternalCodeFile::Check(): printf was being used
instead of sprintf.
- Changed the char-by-char reads and writes to a whole block read and write
in InternalCodeFile::Open(), AppendToFile(), WriteForEdit() and Check().
- Removed the unused InternalWindowccCode variable.
- Added a check for HasBeenDeleted everywhere InternalOxcCode is used.
Deleting an object does not removes the code from InternalOxcCode, but
marks it as deleted for a future implementation undo operation. Since
there were no checks for HasBeenDeleted anywhere in the code, adding a new
object of the same type led to some conflicts, like duplicated code in
OnyxWindow1.cc and random crashes.
- Had to force _focusMgr to NULL in OnyxWindow. Otherwise OnyX would crash
when the development window is closed while some widget on it had the
focus (Xclass tries to set the focus to a non-existing window).
Back to the top
Known Bugs (unfixed)
Bug: Moving things quickly can cause objects to jump sporadically.
Comments: Fast movements can cause a loss of an XCrossing event.
Im digging into it to see what can be done. This will be fixed.
First noticed: 0.1.0
Back to the top
Known Bugs (fixed)
Bug: New Project window doesn't respond to pressing enter in the
text box.
First noticed: 0.1.0
Comments: This occurred only because I didn't stop put that
in.
Fixed: 0.1.1
Bug: Save includes a lot of blank lines in .cc file.
First noticed: 0.1.0
Comments: Eeew, glad I found that one.
Fixed: 0.1.1
Bug: A picture button that cant find its picture will cause an
application to crash.
Comments: OnyxButton has been modified to catch this, a blank
text button is created instead.
First noticed: 0.1.0
Fixed: 0.1.1
Bug: OnyxTextBox cursor not visible.
First noticed: 0.1.0
Comments: OnyxTextBox wasn't requesting a FocusChange event.
Fixed: 0.1.2
Bug: Text boxes in properties window tend to autoselect.
First noticed: 0.1.0
Comments: Same as above.
Fixed: 0.1.2
Bug: .onyx has bad file permissions. Cant access it.
First noticed: 0.1.0
Comments: This has been corrected to default to 700 permissions.
Later it will be customizable.
Fixed: 0.1.2
Bug: Bash 2.0+ needs semi colons in the Makefiles.
First noticed: 0.1.0
Comments: Fixed. I hope to eventually get things like this in
GNU autoconf.
Fixed: 0.1.2
Bug: Resizeing a window doesn't work.
First noticed: 0.1.0
Comments: Fixed by monitoring ConfigureNotify events.
Fixed: 0.1.2
Bug: Make window sometimes doesn't display properly.
First noticed: 0.1.0
Comments: Fixed by modifying OnyxWindow properties.
Fixed: 0.1.5
Bug: Make window scroll bar likes to stick when scrolled.
First noticed: 0.1.0
Comments: Fixed by modifying OnyxWindow properties.
Fixed: 0.1.5
Bug: Using Menus in a project doesn't work.
First noticed: 0.1.0
Comments: Starting version 0.3.0 OnyX now sports a menu editor.
Bug: The file dialog can appear half off the screen.
Comments: This is due to Xclass positioning. It'll be a bit
before I know how to override that.
First noticed: 0.1.0
Comments: Fixed in Xclass 0.5.3.
Fixed: 0.4.0
Bug: Under some window managers the snap to grid on the window causes
it to migrate across the screen.
Comments: This seems to be due to the window manager making
its own adjustment ot the window position and not notifying the client.
This is most noticable under fvwm. Enlightenment also tends to place the
window in odd positions but at least it doesn't migrate. Fvwm95 doesn't
seem to have this problem ;) This will be remedied hopefully in 0.3.1
First noticed: 0.3.0
Comments: The snap-to-grid feature was removed for top-level
windows.
Fixed: 0.4.0
Bug: The color selector likes to take off when the slidebars
are used.
Comments: Beleive it or not this is related to the above problem.
Hope to fix it about 0.3.1 as well.
First noticed: 0.3.0
Comments: The old color dialog was removed. The new xclass Color
Selection Dialog is used instead.
Fixed: 0.4.0
Back to the top
Back