Ticket #549 (new defect)

Opened 4 years ago

Last modified 2 years ago

De-couple FIFE from Guichan

Reported by: prock Owned by: FIFE
Priority: normal Milestone: 0.3.5
Component: engine/core/gui Version: trunk
Severity: normal Keywords: guichan, gui
Cc: Blocked By:
Blocking: Time planned:
Time remaining: Time spent:

Description

This task is to de-couple FIFE from Guichan and to add an interface to allow the easy adoption of other GUI libraries (such as CEGUI). In the process it will make us true to our name (F for Flexible :D).

Change History

comment:1 Changed 4 years ago by prock

(In [3682]) * Began working on de-coupling FIFE from guichan. It's not completely de-coupled at the moment. FIFE::Engine still relies on guichan. All demos and the editor should work. I placed all guichan related code in <fife>/core/gui/guichan.

  • Fixed a small compiling error when compiling with mingw. Had to include <cstdio> in stringutils.cpp. refs #549

comment:2 Changed 4 years ago by prock

(In [3683]) Some more work de-coupling FIFE from Guichan. I have now completed the major work. Some work on Fonts will have to be done.

  • Engine can now operate without a gui manager
  • Exposed ISdlEventListener to python
  • GUIChanManager now instantiates gcn::Graphics
  • CoordinateRenderer? and FloatingTextRenderer? no longer need a font in their constructors. It is up to the clients to pass a font they want to use to the renderers.
  • Modified basicapplication.py to instantiate a guimanager and pass it to Engine.
  • Small fixes in pychan to get the correct type of gui manager. refs #549

comment:3 Changed 4 years ago by prock

(In [3684]) * Removed the GUIChanManager initialization from basicapplication.py and moved it to pychan. You can now access the guimanager through pychan directly. This allowed me to get rid of the getGuiChanManager() function from the engine python interface. refs #549

comment:4 Changed 4 years ago by prock

(In [3687]) * Changing the svn file properties. Adding eol-style=native. Most of the files were a result of me moving the guichan files refs #549

comment:5 Changed 3 years ago by prock

(In [3688]) * Had to set the font for the FloatingTextRenderer? for the RPG demo. refs #549

comment:6 Changed 3 years ago by kozmo

(In [3714]) * Changed Guichan graphics renderer to utilize vertex array instead of immediate mode refs #549

comment:7 Changed 3 years ago by vdaras

(In [3927]) GUI Enhancements branch refs #549

comment:8 Changed 3 years ago by vdaras

(In [3965]) Made fifechan optional when building with scons. You can now use --disable-fifechan option to build fife without fifechan.

Introduced a PychanBasicApplication? that clients should extend instead of BasicApplication? if they use fife with fifechan. Updated all demos, tools and tests to extend PychanBasicApplication?. refs #549

comment:9 Changed 3 years ago by prock

(In [3966]) Fixed a couple problems when compiling this branch on windows using mingw. refs #549

comment:10 Changed 3 years ago by vdaras

(In [3967]) Changed --disable-fifechan option to --without-fifechan. Moved utf8stringeditor class under engine/core/gui/fifechan. refs #549

comment:11 Changed 3 years ago by vdaras

(In [3973]) Building fife for python now generates two modules instead of one. fife.py: contains all fife classes plus fife's custom widgets. fifechan.py: contains all desired classes from fifechan library. Custom widgets are exported to the fifechan module using python.

Building using --without-fifechan option does not generate the fifechan module and the fifechan related class in fife are not exported too.

Also fixed pychan, demos, tools and tests to be compatible with those changes. refs #549

comment:12 Changed 3 years ago by vdaras

(In [3974]) Added some files to fix some issues concerning the previous commit. refs #549

comment:13 Changed 2 years ago by vdaras

(In [3983]) Created PasswordField? widget in pychan. Also moved UTF8TextField to fifechan. refs #549

comment:14 Changed 2 years ago by vdaras

(In [3985]) Moved UTF8TextBox to fifechan refs #549

comment:15 Changed 2 years ago by vdaras

(In [3986]) Fixed darwin-config for scons builder. refs #549

comment:16 Changed 2 years ago by vdaras

(In [3987]) Fixed some compilation issues. refs #549

comment:17 Changed 2 years ago by vdaras

(In [4014]) Decoupled fife_settings module from default settings gui panel in python extensions. refs #549

comment:18 Changed 2 years ago by vdaras

(In [4040]) Changed how pychan settings and fife settings where de-coupled. Now they use inheritance instead of containtment. refs #549

comment:19 Changed 2 years ago by vdaras

(In [4044]) Made fifechan python module compile against python2.7 library. refs #549

comment:20 Changed 2 years ago by vdaras

(In [4045]) Provided another fix for fifechan module linking with python in Windows. refs #549

comment:21 Changed 2 years ago by vdaras

(In [4046]) Provided another fix for fifechan module linking with python in Windows. refs #549

comment:22 Changed 2 years ago by vdaras

(In [4048]) Fixed a syntax error in win32-config.py. refs #549

comment:23 Changed 2 years ago by vdaras

(In [4049]) Fixed a bug in engine/SConscript. refs #549

comment:24 Changed 2 years ago by chrisoelmueller

(In [4050]) * Fix inheritance when setting defaults in FifePychanSettings?

Reported by Kilian, authored by vdaras. refs #549

comment:25 Changed 2 years ago by vdaras

(In [4073]) Fixed some bugs in FifePychanSettins?. refs #549

comment:26 Changed 2 years ago by vdaras

(In [4074]) Removed a debug print from SimpleXMLSerializer. refs #549

comment:27 Changed 2 years ago by prock

  • Milestone changed from 0.3.4 to 0.3.5

Moving to 0.3.5 as we are preparing to release 0.3.4

Note: See TracTickets for help on using tickets.