In FLTK 1.5 we remove most (but not all) methods and functions that were deprecated in FLTK 1.3 or earlier.
146 lines
5.5 KiB
Plaintext
146 lines
5.5 KiB
Plaintext
/**
|
|
|
|
\page migration_1_5 Migrating Code from FLTK 1.4 to 1.5
|
|
|
|
This appendix describes the differences between FLTK
|
|
1.4.x and FLTK 1.5.x functions and classes and potential requirements
|
|
to change source code. We also explain how code can be made compatible
|
|
so it can be compiled by FLTK 1.3.x, 1.4.x, and 1.5.x.
|
|
|
|
If you need to migrate your code from prior FLTK versions to FLTK 1.4,
|
|
please consult the relevant appendices in the FLTK 1.3 online documentation
|
|
or by downloading the FLTK 1.3 documentation.
|
|
See https://www.fltk.org/doc-1.3/migration_1_3.html and/or
|
|
https://www.fltk.org/software.php, respectively.
|
|
|
|
|
|
\section migration_1_5_cmake CMake is required to build FLTK
|
|
|
|
Building with configure/make and included Makefile's has been discontinued.
|
|
Since FLTK 1.5.0 CMake is required to build FLTK. Please see README.CMake.txt
|
|
for details.
|
|
|
|
|
|
\section migration_1_5_cxx_standard FLTK requires C++11 or higher
|
|
|
|
You need a compiler or build system capable of at least C++ standard C++11.
|
|
The compiler must be configured to run in C++11 mode or higher.
|
|
|
|
FLTK sets the required compiler options automatically (via CMake) for its own
|
|
build.
|
|
|
|
If you use "Modern CMake" (basically CMake in CONFIGURE mode) to build your
|
|
own projects the appropriate options are inherited from the properties of
|
|
the FLTK libraries. Otherwise you may need to set the compiler flags to use
|
|
at least C++11 yourself.
|
|
|
|
|
|
\section migration_1_5_forms Default for FORMS compatibility is now OFF
|
|
|
|
If you need (X)Forms compatibility you must set the CMake configure option
|
|
|
|
FLTK_BUILD_FORMS:BOOL=ON
|
|
|
|
manually. In previous versions (up to 1.4.x) the default was 'ON', but since
|
|
Forms compatibility is not a primary goal of FLTK this is now optional.
|
|
|
|
|
|
(X)Forms support \b may be removed entirely in a future FLTK release. We
|
|
recommend all users to rewrite their code to use "native" FLTK code anyway.
|
|
|
|
|
|
|
|
\section migration_1_5_fl_override Simplified FL_OVERRIDE Macro
|
|
|
|
FLTK 1.4 defined a new macro \p FL_OVERRIDE as "override" if (and only if)
|
|
a recent C++ standard (C++11 or higher) was used to compile its code.
|
|
|
|
Since FLTK 1.5 this macro is unconditionally defined as 'override' because
|
|
FLTK requires C++11 anyway.
|
|
|
|
For more details please see \ref migration_1_4_fl_override.
|
|
|
|
|
|
\section migration_1_5_removed Removed Methods and Functions
|
|
|
|
Methods, functions, and global symbols that have been deprecated in FLTK 1.3
|
|
or earlier have been removed in FLTK 1.5.0.
|
|
|
|
If you need help with these functions because old code still uses them, please
|
|
consult the table below for a quick solution. If this doesn't help please read
|
|
the FLTK 1.3 or 1.4 documentation to find out how to replace them with newer
|
|
functions or methods, for instance https://www.fltk.org/doc-1.4/deprecated.html.
|
|
|
|
|
|
The following (possibly incomplete) list can help to identify and replace
|
|
these removed methods and functions.
|
|
|
|
Removed Symbol | Please Replace With ...
|
|
----------------------------------------|-------------------------
|
|
Fl::release() | Fl::grab(0)
|
|
Fl::set_idle(Fl_Old_Idle_Handler cb) | Fl::add_idle(cb [, data])
|
|
fl_ask(const char *fmt,...) | fl_choice()
|
|
fl_clip(int, int, int, int) | fl_push_clip(int x, int y, int w, int h)
|
|
Fl_Group::focus(Fl_Widget *W) | (Fl_Widget*) W->take_focus()
|
|
Fl_Menu_Item::check() | Fl_Menu_Item::set()
|
|
Fl_Menu_Item::checked() const | int Fl_Menu_Item::value() const
|
|
Fl_Menu_Item::uncheck() | Fl_Menu_Item::clear()
|
|
Fl_Widget::color2() const | Fl_Widget::selection_color() const
|
|
Fl_Widget::color2(unsigned) | Fl_Widget::selection_color(unsigned)
|
|
|
|
|
|
|
|
\section migration_1_5_deprecated More Deprecated Methods and Functions
|
|
|
|
All methods deprecated in <b> FLTK 1.4.x or earlier </b> are likely to be
|
|
removed in the next minor FLTK version, presumably 1.6.0.
|
|
|
|
Please update your code!
|
|
|
|
The following list is currently incomplete and will be extended later.
|
|
|
|
|
|
Symbol To Be Removed In The Next Minor Release | Please Replace With ...
|
|
-------------------------------------------------------|-------------------------
|
|
void Fl_Window::icon(const void *ic) | void Fl_Window::icon(const Fl_RGB_Image *icon)
|
|
const void *Fl_Window::icon() const | no replacement (was platform specific)
|
|
|
|
|
Fl_Tree::first_visible() | in 1.3.3 ABI
|
|
Fl_Tree::first_visible_item() | ?
|
|
Fl_Tree::item_clicked(Fl_Tree_Item *val) | callback_item()
|
|
Fl_Tree::item_clicked() | callback_item()
|
|
Fl_Tree::last_visible() | last_visible_item()
|
|
|
|
|
Fl_Tree_Item::Fl_Tree_Item(const Fl_Tree_Prefs &prefs) | Fl_Tree_Item(Fl_Tree*)
|
|
Fl_Tree_Item::next_displayed(Fl_Tree_Prefs &prefs) | next_visible()
|
|
Fl_Tree_Item::prev_displayed(Fl_Tree_Prefs &prefs) | prev_visible()
|
|
|
|
For details please refer to the documentation of FLTK 1.4 at
|
|
https://www.fltk.org/doc-1.4/deprecated.html.
|
|
|
|
|
|
\htmlonly
|
|
<hr>
|
|
<table summary="navigation bar" width="100%" border="0">
|
|
<tr>
|
|
<td width="45%" align="LEFT">
|
|
<a class="el" href="migration_1_4.html">
|
|
[Prev]
|
|
Migrating Code from FLTK 1.3 to 1.4
|
|
</a>
|
|
</td>
|
|
<td width="10%" align="CENTER">
|
|
<a class="el" href="index.html">[Index]</a>
|
|
</td>
|
|
<td width="45%" align="RIGHT">
|
|
<a class="el" href="license.html">
|
|
Software License
|
|
[Next]
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
\endhtmlonly
|
|
|
|
*/
|