CHANGES 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. -= FLU 2.14 =-
  2. * Flu_File_Chooser:
  3. - would only return a single file in multi mode if you pushed <Enter> instead of
  4. clicking "Ok"
  5. - fixed bug where the selected file would sometimes have an extra path prepended
  6. - added flu_multi_file_chooser() to easily choose multiple files inline
  7. * Flu_Tree_Browser:
  8. - changed behavior so branch_icons(0,0) turns off branch icons for newly added
  9. nodes, and added set_default_branch_icons() to turn the default ones back on
  10. - added swap_label_and_widget() to specify whether nodes with embedded widgets draw
  11. the label to the left of the widget (default) or to the right of the widget
  12. - added auto_color(), auto_label(), and auto_label_color() to help draw embedded
  13. widgets better by allowing them to track properties of their enclosing node
  14. - added icon_at_end() to specify whether the icon for a leaf is drawn to the left
  15. of the label and widget, or to the right of the label and widget
  16. - tree was not properly redrawn in some cases after removing a node
  17. - fixed error in swap() where it didn't return a value
  18. - tweaked the event handling code to work with embedded widgets better
  19. - added get_hilighted() to return the currently hilighted node
  20. - added selection_follows_hilight() to set whether the hilighted node
  21. is also always selected
  22. - fixed the drawing/handling/focus code to correctly handle drawing
  23. embedded widgets that are only "damaged"
  24. - removed Flu_DND support by default. it is too buggy and doesn't work on all OS
  25. * added wrap_range() to Flu_Spinner to allow the value to "wrap" to the range during interaction
  26. * Flu_Label now wraps label text by default
  27. * fixed bug in Flu_Combo_Box where, in some situations, the popup would appear in the wrong location
  28. * renamed a helper file to be consistent with the rest of FLU (shouldn't affect your code unless you
  29. included it directly)
  30. * added an Flu prefix to the names of a few internal variables/classes to avoid potential namespace conflicts
  31. * initialized a few uninitialized variables in Flu_File_Chooser to prevent potential bugs
  32. * added a new class, Flu_GL_Canvas, that is better suited to derive GL widgets from
  33. * fixed bug in Flu_Toggle_Group that incorrectly activated widgets that were supposed to be deactivated
  34. * fixed Flu_Dual_Slider so you can call low_value(float) and high_value(float) while dragging
  35. -= FLU 2.13 =-
  36. * Flu_GL_Window passed the wrong user data for the mouse wheel callback
  37. * Flu_Tree_Browser:
  38. - added insert(), insert_branch() and insert_leaf() to add nodes to specific positions
  39. within a branch (valid only when the insertion_mode() is not a sorted mode)
  40. - added a swap() method to exchange the positions of any 2 nodes (within the same tree)
  41. * fixed a version mismatch between the .zip and .tar distributions
  42. -= FLU 2.12 =-
  43. * fixed the various Flu_*_Group widgets to account for damaged children during a draw()
  44. * reverted the callback() for Flu_Tree_Browser to the Fl_Widget implementation for compatability with
  45. other callback mechanisms such as fl_connect (thanks Ken!). this also eliminates the tree browser's
  46. FLU_WIDGET_CALLBACK notifcation event for widgets in the tree. to regain the original behavior,
  47. call Flu_Tree_Browser::use_FLU_WIDGET_CALLBACK(true); before creating a tree.
  48. * Flu_Spinner:
  49. - the input area is now properly activated/deactivated
  50. - pushing 'Tab' correctly advances to the next widget
  51. - added an editable() method to control whether the input area can be edited
  52. * Flu_Dual_Slider:
  53. - added an overlap() method allowing the low and high values to be the same
  54. - fixed a bug in the keyboard handler (when using the arrow keys to change values)
  55. * Flu_File_Chooser:
  56. - fixed bug allowing you to choose a directory when selecting multiple files
  57. - selected files are now not unselected when switching between list, wide-list, and detail modes
  58. - added a few more static strings for internationalization support
  59. - now uses the windows registry to get the correct user paths for "Desktop" and "My Documents".
  60. this should eliminate some problems for cygwin/mingw compiles
  61. - implemented the callback() for Flu_File_Chooser (which is called when the Ok or Cancel buttons are
  62. pushed). this allows you to create a chooser widget, show() it, and forget it. the callback is
  63. called just like any ordinary widget
  64. - added a STDFILE type() flag which allows choosing both directories and files at the same time
  65. (thanks Michel!)
  66. - added a flu_file_and_dir_chooser() function to choose both directories and files (using the new
  67. STDFILE flag)
  68. -= FLU 2.11 =-
  69. * added a reset() routine to Flu_Progress_Meter to make it easier to reuse
  70. (thanks george!)
  71. * added a convenience routine, fl_exit(), to Flu_Helpers which hides all open windows
  72. (eventually) causing fltk to exit (you are still required to delete the windows though)
  73. * added a new widget: Flu_Dual_Slider - like Fl_Slider but with 2 handles controlling both
  74. a "low" value and a "high" value
  75. * fixed Ctrl/Shift/Alt + drag increments 10x for Flu_Spinner
  76. * fixed the box() drawing for Flu_Tree_Browser
  77. * added a setMouseWheelFunc() to Flu_GL_Window to handle FL_MOUSEWHEEL events
  78. * fixed Flu_Tree_Browser bug where animated open/close of branches would break if you opened a
  79. branch with no children
  80. * added open_without_children() to Flu_Tree_Browser to allow branches to not be opened
  81. if they have no children
  82. * added num_selected() and get_selected() methods to class Flu_Tree_Browser::Node
  83. * fixed Flu_Progress so it handles value() changes better by only updating the screen when a
  84. visible change has occurred (via Fl::check())
  85. * fixed a couple event-handling bugs for Flu_GL_Window
  86. * fixed Flu_File_Chooser so it does not use SHGetSpecialFolderPath in windows anymore, but
  87. instead uses the more compatable SHGetFolderPath
  88. * introduced a plethora of static strings allowing programmers to customize the names of most
  89. widgets/tooltips in Flu_File_Chooser for easier internationalization
  90. * changed the text color of selected files in Flu_File_Chooser from black to white so they
  91. are easier to read
  92. * fixed the custom preview widget code (PreviewWidgetBase) for Flu_File_Chooser to work
  93. correctly
  94. * fixed the "quick jump" buttons in Flu_File_Chooser so they don't resize with the window
  95. * added an extra flu_dir_chooser() method to Flu_File_Chooser that allows you to also see files
  96. in a deactivated state
  97. * added flu_save_chooser() method to Flu_File_Chooser that keeps the current filename in the
  98. input field during directory traversals
  99. * fixed flu_file_chooser() and flu_dir_chooser() so they reset the single instance of the
  100. chooser to the correct type
  101. -= FLU 2.10 =-
  102. * added a format() method to Flu_Int_Input and Flu_Float_Input to set how the value() is displayed
  103. * hacked Flu_Tree_Browser to allow natural support for FL_RADIO_BUTTONs. it's not the best solution, but it works
  104. * added support for using '~' to go to your home area in Flu_File_Chooser
  105. * added a set of location "quick jump" buttons in Flu_File_Chooser to navigate within the current directory path
  106. * patched Flu_File_Browser to guarantee value() returns paths with a LOWERCASE drive letter on
  107. windows (for compatability with fl_filename_relative()). this patch also fixes a fatal crash on windows.
  108. * tweaked Flu_Combo_Box, Flu_Combo_List, Flu_Combo_Tree, and Flu_Tree_Browser so that combo boxes
  109. hilight the item under the mouse when the mouse moves, making selection easier
  110. -= FLU 2.9.2 =-
  111. * patched Flu_Tree_Browser to make it flicker less for single-buffered apps that generate
  112. too many FL_NO_EVENTs
  113. * patched Flu_File_Browser to do case-insensitive matching in windows, and case-sensitive
  114. matching on everything else. also updated to guarantee value() returns paths with an uppercase drive letter on windows.
  115. * fixed Flu_File_Browser so it correctly primes the "Filename" field when calling flu_file_chooser()
  116. * patched Flu_Combo_List to prevent crashes when an empty region in the popup was selected
  117. * tweaked Flu_Combo_Box to look better if it has the focus or if you change the box() type
  118. -= FLU 2.9.1 =-
  119. * patched Flu_Tree_Browser to prevent erroneous memory access introduced in 2.9 (caused crashes on Windows)
  120. -= FLU 2.9 =-
  121. * Flu_File_Chooser:
  122. - changed value(int) to base 1 instead of base 0 to match Fl_File_Chooser behavior
  123. - fixed bug that prevented the user from using the left/right cursor keys to
  124. navigate within the text in the "Filename:" field
  125. - added Up, Down, Left, Right, Home, End, Enter and Space support to make keyboard
  126. navigation easier
  127. - the Delete key didn't work for File Details mode (fixed)
  128. - made a few minor aesthetic improvements when the chooser is resized
  129. - for ease-of-use, can only change the name of a file by right-clicking instead of by
  130. clicking twice
  131. - when changing the name of a file, just the name is highlighted initially (not the extension)
  132. * updated Flu_Wrap_Group to accomodate new functionality required for Flu_File_Chooser
  133. * Flu_Progress_Meter is now derived from Fl_Double_Window, making the class a bit cleaner and more flexible
  134. * removed unnecessary #include <typeinfo> from Flu_Collapsable_Group.cpp (broke some msys compiles)
  135. * Flu_Tree_Browser:
  136. - changed Node implementation so that a NULL branch icon does not default to the gold folder,
  137. but instead draws nothing
  138. - added add_branch() and add_leaf() convenience methods to help disambiguate
  139. adding nodes for the programmer
  140. - added a new feature called auto_branches() that dynamically changes nodes from leaves to
  141. branches depending on whether the node has any children. this makes the tree more compatible
  142. with scene-graph-like hierarchies instead of file-structure-like hierarchies. the new example
  143. Flu_Tree_Browser_Try2 tests this feature
  144. - fixed a couple more event handling bugs
  145. -= FLU 2.8.1 =-
  146. * added support for cygwin environment (static libs only)
  147. * added support for mingw/msys environment (static libs only)
  148. * added the ability to change the label of an entry in Flu_Tree_Browser, as well as
  149. sort the entire tree or a node's children manually
  150. * fixed some Codewarrior compiler issues in Flu_File_Chooser and Flu_Tree_Browser,
  151. as well as many of the example files (thanks Doyle!)
  152. * added Codewarrior project files - static libs only (thanks Doyle!)
  153. * tweaked Flu_File_Chooser to fix latency issues with floppy, removable and network
  154. drives
  155. * typing Ctrl+a in Flu_File_Chooser when in MUTLI mode now selects all files
  156. * fixed annoying "feature" in Flu_File_Chooser where if a filename was in the filename
  157. input field, and that filename matched an existing file, no other files matching
  158. the current pattern were displayed
  159. * fixed memory leak in Flu_Progress_Meter in which the destructor didn't delete the window
  160. * fixed bug in Flu_Combo_Box where it took 2 presses of <Tab> to move through the widget (now it takes only 1)
  161. * tried to fix Flu_Combo_Box so it pops up correctly on multi-display desktops (haven't tested though)
  162. -= FLU 2.8 =-
  163. * updated configure/makefile to fix the following issues: (thanks Michael!)
  164. - on some systems, previous versions of the FLU shared library must be removed
  165. before a new symlink can be created. fixed by removing libflu.* and libflu_gl.*
  166. instead of individual files
  167. - support added to configure for Sun and several BSD variants, including systems
  168. with a non-standard shell and systems for which the header/lib search path was
  169. wrong or incomplete
  170. - --disable-gl did not work for configure. fixed.
  171. - updated examples/Makefile to account for --enable-gl or --disable-gl
  172. * added keyboard navigation to Flu_Combo_Box: <Spacebar> opens,
  173. cursor keys navigate, <Spacebar> or <Enter> selects, <Esc> cancels
  174. * fixed Flu_Combo_Box bug that did not save/restore the current group correctly
  175. before popping up the box, sometimes leading to a segfault (thanks George!)
  176. * fixed bugs in Flu_File_Chooser:
  177. - certain compiles on windows (e.g. mingw) when queying floppy drives took a bit
  178. too long. changed things around so the drives are only queried when the user
  179. clicks "Refresh Directory" or when "My Computer" is visited (thanks Ian!)
  180. - fixed a couple really insignificant problems involving the current working
  181. directory and flu_file_chooser()
  182. - typing in a filename and pushing <Enter> did not return that filename unless
  183. it already existed. fixed. pressing "Ok" always worked.
  184. - changed a char* to const char* for mingw compiler
  185. - made entire protected section public because several compilers
  186. (VC6 and a few gcc-2.x) did not like friend classes accessing protected members
  187. * removed a #pragma from Flu_Enumerations.h because it was there only to eliminate
  188. several warnings from a VC6 compile, and was largely unnecessary
  189. -= FLU 2.7.1 =-
  190. * added a clear_history() function to Flu_File_Chooser
  191. * fixed bugs in Flu_File_Chooser:
  192. - erroneously returned the empty string on cancel, instead of NULL
  193. - flu_file_chooser() did not use current working directory when
  194. first called with NULL as the filename.
  195. - flu_file_chooser() did not throw away the last file name chosen
  196. when called again with a different pattern.
  197. - each call to flu_file_chooser() now clears the history for more
  198. consistent behavior from call to call
  199. -= FLU 2.7 =-
  200. * new Flu_File_Chooser widget
  201. * Flu_Button enhanced with box enter/exit effects
  202. * added pop_height() in Flu_Combo_Box to set the size of the box that pops up
  203. * a couple bug fixes in Flu_Tree_Browser, Flu_Combo_Box, Flu_Wrap_Group
  204. * added cancel handler to the Flu_Progress demo
  205. * added a separate input_callback() to Flu_Combo_Box
  206. * when selecting an existing item in the combo box/list demo, it erroneously added
  207. the item again to the list. fixed using new input_callback()
  208. * new option for Flu_Link_Button that only draws underlining when mouse is over the button
  209. * Flu_Spinner: shift/ctrl/alt + click increments by 10*step()
  210. step() >= 1 --> uses Fl_Int_Input, else Fl_Float_Input
  211. align(FL_ALIGN_INSIDE) now puts the label inside the spinner, but then you
  212. can't edit the data in the input box
  213. * New FluSimpleString class (similar to the STL string class) used by several widgets
  214. to make string handling easier
  215. * added make install directive to configure and Makefiles
  216. -= KNOWN BUGS =-
  217. * Flu_File_Chooser: details mode doesn't work right when there are more than 1600 files or so.
  218. some kind of weird conflict with Fl_Scroll and Fl_Pack (the underlying widgets for details
  219. mode). still trying to figure it out...
  220. * Flu_File_Chooser: on OSX, the first time you open the "Location" combo box, if the
  221. file chooser window has not been moved or resized, the combo box sometimes shows up
  222. in the wrong place, although it is still functional. go figure
  223. * Flu_File_Chooser: it has been reported that on some multi-display desktops the various
  224. combo boxes do not pop up in the right place.