Skip to content

Tags: vladsaukhin/glui

Tags

2.37

Toggle 2.37's commit message
Merge pull request libglui#52 from nigels-com/merge-cmake-2.8

CMake 2.8 works on Ubuntu 14.04

2.36

Toggle 2.36's commit message
Changed to ZLIB license

2.35

Toggle 2.35's commit message
Bummped verison number to 2.35

2.3

Toggle 2.3's commit message
CHANGES:

----------------------------------
- GLUI_String is now a std::string
  This is the main source of most incopatibilities, but I felt it was
  a necessary change, because the previous usage of a fixed-sized
  buffer was just too unsafe.  I myself was bitten a few times passing
  a char* buffer of insufficient size into GLUI as a live variable.
  It is still possible to use a char buffer, but it is not recommended.

  If you used GLUI_String before as a live var type, the easiest way
  to get your code compiling again is to change those to "char
  buf[300]".  The better way, though, is to update your code to treat
  it as a std::string.

  For instance, if you used to pass mystr to functions that take
  'const char*', now use mystr.c_str() method, instead.
  If you used strcpy(mystr, b) to set the value, now just do mystr=b.
  If you used sprintf(mystr,...) to set the value, now do
  glui_format_string(mystr,...).
  If you used to clear the string with mystr[0]='\0', now just clear
  it with mystr="".

----------------------------------
- Enhanced GLUI_EditText
  Control keys can be used for navigation and control.  The bindings
  are bash-like: Ctrl-B for previous char, Ctrl-F for forward char, etc.
  bindings.  Also control keys that aren't bound to commands are
  simply ignored, whereas before they would be inserted as invisible
  characters.

----------------------------------
- Added GLUI_CommandLine class
  This is a GLUI_EditText with a history mechanism.

----------------------------------
- New, more object oriented construction API.
  Now instead of calling

    glui->add_button_to_panel( panel, "my button", myid, mycallback );

  you should just call the button constructor:

    new GLUI_Button( panel, "my button", myid, mycallback );

  And similarly to add it to a GLUI instead of a panel, rather than:

    glui->add_button_to_panel( panel, "my button", myid, mycallback );

  just call the constructor with the GLUI as the first argument:

    new GLUI_Button( glui, "my button", myid, mycallback );

  The old scheme is now deprecated, but still works.  The benefit of
  this new scheme is that now the GLUI class doesn't have to know
  about all the different types of GLUI_Controls that exist.
  Previously GLUI had to both know about all the controls, and know
  how to initialize them.  Now the responsibility for initialization
  belongs to the GLUI_Control subclasses themselves, where it
  belongs. Additionally it means that you can create your own
  GLUI_Control subclasses which will be on equal footing with the
  built-in controls, whereas before any user-created controls would
  always be "second-class citizens" since they would have to be
  constructed differently from the built-ins.


----------------------------------
- Removed need for type-declaring arguments when argment type suffices.
  This effects GLUI_Spinner and GLUI_EditText (and GLUI_CommandLine?).

  For example, instead of calling

    new GLUI_Spinner( glui, "myspin", GLUI_SPINNER_INT, &live_int_var );

  you can just omit the GLUI_SPINNER_INT part, because the type of the
  live_int_var tells the compiler which type you want.

    new GLUI_Spinner( glui, "myspin", &live_int_var );

  If you're not using a live, var, you can still use the
  GLUI_SPINNER_INT type argument.  See glui.h for all the new
  constructor signatures.  Note this only works with the new
  construction API, not with the old "add_blah_to_panel" style of
  API.

----------------------------------
- GLUI_Rotation uses your matrix live-variable now.
  GLUI used to ignore the matrix in your live variable.  This version
  doesn't ignore it, so you'll need to set it to the identity matrix
  yourself if that's what you want it to start as.  There could
  probably be some improvements to this API, though.

----------------------------------
- Improvements to 'const' usage.
  Most char*'s in GLUI functions used to be non-const even when the
  functions did not modify the string.  I changed everywhere
  appropriate to use const char* instead.

----------------------------------
- Updated license info in the headers
  Paul's web page says that GLUI is LGPL, but that wasn't declared in
  the code itself.  I've modified all the headers with the standard
  LGPL notice.

----------------------------------
- Updated examples for the API changes

----------------------------------
- Created project files for Visual Studio .NET (MSVC7.1)

2.1-beta

Toggle 2.1-beta's commit message
Initial import: GLUI 2.1 beta