NovaTK

A GUI toolkit
Download

NovaTK Ranking & Summary

Advertisement

  • Rating:
  • License:
  • LGPL
  • Price:
  • FREE
  • Publisher Name:
  • Tim Walters
  • Publisher web site:

NovaTK Tags


NovaTK Description

A GUI toolkit NovaTK is a cross-platform, object-oriented GUI toolkit. One of the focuses of NovaTK is to facilitate rapid development of cross-platform applications requiring fewer lines of code.Goals:Cross-platform - NovaTK is designed with a high level of abstraction with the purpose of allowing NovaTK to be easily ported to many different operating systems and frameworks. The majority of NovaTK, such as the code implementing widgets and dialogs, involves no platform specific code and calls only functions from its NovaTK's internal platform abstraction API, GSys, or C/C++ standard functions. This goal is also extended to applications built with NovaTK where NovaTK aims to make it easier to write applications that can be compiled across many platforms without changing a line of code. This naturally excludes functionality outside that which NovaTK provides(Such as audio). I believe that all programs should be designed with as few barriers to porting as possible.Easy to use - Heavy emphasis is placed upon designing NovaTK with an easy to use and learn, logical API. This is a primary reason that NovaTK is written in C++ as I believe that an object-oriented design is substantially simplifies the development of application GUIs as well as making it possible to develop such applications at a much faster pace with much cleaner code than would result from using procedural languages such as C. C++ also provides the required flexibility to allow the developer to use NovaTK for any type of application they can dream of. I firmly believe that NovaTK fulfills its goal with a very well designed API that is easy to learn yet still flexible enough not stand in the way of the developer.Rapid Application Development - One of the reasons that I started writing NovaTK was because in the past I used to write my own widgets for each application I worked on. NovaTK was originally part of a project to put common code that into a library that I could share between my applications. NovaTK has since become a full fledged GUI toolkit. It is designed to take care of all aspects of the user interface for the application to allow the developer to focus on the functionality the application was intended to provide.The Design of NovaTKNovaTK is designed with a layer of abstraction over the user's operating system or framework. This platform layer, called "GSys" was designed so that porting of NovaTK to a different platform only required an implementation of GSys over that platform. Implementations of GSys are not just limited to operating system but can also be over other frameworks on the same operating system. At present, NovaTK only has a GSys backend for X11 and Windows but there are plans to provide a backend over Mac OS X's Carbon(or possibly Cocoa) as well as SDL to make it possible to use NovaTK in game development.Rather than being based around an event loop, NovaTK is designed around a callback-based event system. An application may set a callback for any event on any widget. As part of this design, most applications written to use NovaTK will not have a main loop for whichever thread handles thier GUI. Instead NovaTK will take control of the thread until an event occurs for which the application has registered a callback. Although for some application that need control of the thread at all times, it is still possible design an application this way. Requirements: · libpng What's New in This Release: · Modified build system to fix building on Mac OS X. Also added option to disable the MIT-SHM extension. · Fixed clipping in Windows. · Added support for highlighting the selected items in the Image Listbox by performing software alpha blending of the image with a selection pixel. · Added Premultiplied versions of the 32 bit Image formats which is used by XRender. · Added new widget: The Slider widget. This also includes its own test. · Menus now stay open after the first button release and items are deselected whenever the pointer moves outside the menu window. · Disabling is now supported by all widgets. This is implemented in the widget base class. Disabled widgets will not receive any input events and they will appear visually darker. · Fixed interpretation of angles for Arcs and Pies in the X11 Backend as it did not conform to the GSys specification for these functions. · Cursor support is now implemented for the Windows backend. · Changed the structure of the includes directory. This is to make include filename clashes less likely for applications that include NovaTK headers since now all filenames will be prefixed by "novatk/". · Introduced the Viewer interface to add common functions to widgets that use the viewport. · Fixed a memory leak in Windows. · Documented some classes and functions that weren't documented. · Added image support to the clipboard. This is implemented in the Win32 backend but not yet in the X11 backend. · Deletion of callbacks in widgets is now supported. · Widget event callbacks can now be suspended. · Added support for stepping when the user clicks the track of a scrollbar. · Scrollbars now automatically scroll while the either of the step buttons is down. · Added support for drag scrolling of TextEntry widgets by dragging the selection of text outside the widgets. · Listbox now supports item sorting. · The Font Selection Dialog now presents a sorted list of font families.


NovaTK Related Software