libufo-commits Mailing List for UFO: Universal Form Objects (Page 7)
Status: Beta
Brought to you by:
schmidtjf
You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(8) |
Sep
(78) |
Oct
(69) |
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(5) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Johannes S. <sch...@us...> - 2005-09-02 13:30:06
|
Update of /cvsroot/libufo/ufo-0.5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14439 Modified Files: README Log Message: Index: README =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/README,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** README 21 May 2005 15:16:10 -0000 1.5 --- README 2 Sep 2005 13:29:58 -0000 1.6 *************** *** 13,19 **** graphical user interfaces. There are three built-in video drivers (using GLX/X11, WGL/Win32, ! respectively LibSDL) which are selected and loaded at run-time. ! You may also create your own backend or use a dummy driver to include libUFO widgets into an already existing OpenGL context. --- 13,25 ---- graphical user interfaces. + It features all common widgets like buttons, menus, text widgets, + and internal frames. + Furthermore, it supports GUI creation via XML files (using XUL, the XML + user interface language from Mozilla). + UFO widgets are themable via CSS files and stylable via Style classes. + There are three built-in video drivers (using GLX/X11, WGL/Win32, ! or LibSDL) which are selected and loaded at run-time. ! You may also create your own backend or use the dummy driver to include libUFO widgets into an already existing OpenGL context. |
|
From: Johannes S. <sch...@us...> - 2005-09-02 13:29:15
|
Update of /cvsroot/libufo/ufo-0.5/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14212/test Modified Files: xul.cpp Log Message: Index: xul.cpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/test/xul.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** xul.cpp 23 Jun 2005 13:33:52 -0000 1.2 --- xul.cpp 2 Sep 2005 13:29:06 -0000 1.3 *************** *** 33,37 **** UXFrame * frame = uxul.createFrame(); if (!frame) { ! std::cerr << "Whoo, error reading XUL file: gui.xul\n"; return -1; } --- 33,38 ---- UXFrame * frame = uxul.createFrame(); if (!frame) { ! std::cerr << "Please ensure that you have gui.xul " ! << "in the current directory\n"; return -1; } |
|
From: Johannes S. <sch...@us...> - 2005-09-02 13:28:52
|
Update of /cvsroot/libufo/ufo-0.5/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14097/test Modified Files: gui.xul Log Message: Added accesskey support. Index: gui.xul =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/test/gui.xul,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** gui.xul 21 May 2005 16:04:27 -0000 1.1 --- gui.xul 2 Sep 2005 13:28:43 -0000 1.2 *************** *** 15,19 **** <toolbox> <menubar id="sample-menubar"> ! <menu id="file-menu" label="File"> <menupopup id="file-popup"> <menuitem id="file-menu-new" label="New"/> --- 15,19 ---- <toolbox> <menubar id="sample-menubar"> ! <menu id="file-menu" label="File" accesskey="f"> <menupopup id="file-popup"> <menuitem id="file-menu-new" label="New"/> *************** *** 34,39 **** <hbox align="center"> <!-- some widgets --> ! <button id="print_blah" label="CSS button" orient="vertical" dir="rtl"/> ! <button id="serif-button" class="serif" label="serif button"/> <label id="spacer_label" value="spacer:"/> --- 34,39 ---- <hbox align="center"> <!-- some widgets --> ! <button id="print_blah" label="CSS button" accesskey="c"/> ! <button id="serif-button" class="serif" label="serif button" accesskey="s"/> <label id="spacer_label" value="spacer:"/> |
|
From: Johannes S. <sch...@us...> - 2005-09-02 13:28:16
|
Update of /cvsroot/libufo/ufo-0.5 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13966 Modified Files: Makefile.am Log Message: Added xul example to MSVC. Index: Makefile.am =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/Makefile.am,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Makefile.am 24 Sep 2004 12:50:45 -0000 1.8 --- Makefile.am 2 Sep 2005 13:28:08 -0000 1.9 *************** *** 37,40 **** --- 37,41 ---- msvc/test/theme.dsp \ msvc/test/widget3d.dsp \ + msvc/test/xul.dsp \ msvc/test/test.dsw |
|
From: Johannes S. <sch...@us...> - 2005-09-02 13:28:00
|
Update of /cvsroot/libufo/ufo-0.5/msvc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13922/msvc Modified Files: ufo_all.dsp ufo_wgl.dsp ufo_sdl.dsp Log Message: Fixed msvc project files. Index: ufo_all.dsp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/msvc/ufo_all.dsp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ufo_all.dsp 13 Feb 2005 16:57:33 -0000 1.2 --- ufo_all.dsp 2 Sep 2005 13:27:52 -0000 1.3 *************** *** 101,133 **** # Begin Source File ! SOURCE=..\src\uabstractcontext.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstractdisplay.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstracttoolkit.cpp # End Source File # Begin Source File ! SOURCE=..\src\events\uactionevent.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\basic\ubasicbuttonui.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\basic\ubasiccheckboxui.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\basic\ubasiccheckboxmenuitemui.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\basic\ubasiccomboboxui.cpp # End Source File # Begin Source File --- 101,133 ---- # Begin Source File ! SOURCE=..\src\xml\tinyxml.cpp # End Source File # Begin Source File ! SOURCE=..\src\xml\tinyxmlerror.cpp # End Source File # Begin Source File ! SOURCE=..\src\xml\tinyxmlparser.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstractcontext.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstractdisplay.cpp # End Source File # Begin Source File ! SOURCE=..\src\widgets\uabstractslider.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstracttoolkit.cpp # End Source File # Begin Source File ! SOURCE=..\src\events\uactionevent.cpp # End Source File # Begin Source File *************** *** 137,185 **** # Begin Source File ! SOURCE=..\src\ui\basic\ubasicinternalframeui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasiclabelui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasiclistboxui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasiclookandfeel.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicmenubarui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicmenuitemui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicpopupmenuui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicradiobuttonui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicscrollbarui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicseparatorui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicsliderui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasictexteditui.cpp # End Source File # Begin Source File --- 137,141 ---- # Begin Source File ! SOURCE=..\src\ui\ubasicstyle.cpp # End Source File # Begin Source File *************** *** 217,224 **** # Begin Source File - SOURCE=..\src\util\ucolorgroup.cpp - # End Source File - # Begin Source File - SOURCE=..\src\widgets\ucombobox.cpp # End Source File --- 173,176 ---- *************** *** 233,237 **** # Begin Source File ! SOURCE=..\src\text\udefaultdocumentrenderer.cpp # End Source File # Begin Source File --- 185,189 ---- # Begin Source File ! SOURCE=..\src\ui\ucss.cpp # End Source File # Begin Source File *************** *** 241,244 **** --- 193,200 ---- # Begin Source File + SOURCE=..\src\widgets\udockwidget.cpp + # End Source File + # Begin Source File + SOURCE=..\src\text\udocumentfactory.cpp # End Source File *************** *** 293,301 **** # Begin Source File ! SOURCE=..\src\gl\ugl_style.cpp # End Source File # Begin Source File ! SOURCE=..\src\gl\ugl_texturefontrenderer.cpp # End Source File # Begin Source File --- 249,257 ---- # Begin Source File ! SOURCE=..\src\gl\ugl_texturefontrenderer.cpp # End Source File # Begin Source File ! SOURCE=..\src\widgets\ugroupbox.cpp # End Source File # Begin Source File *************** *** 357,364 **** # Begin Source File - SOURCE=..\src\ui\ulistboxui.cpp - # End Source File - # Begin Source File - SOURCE=..\src\widgets\umenu.cpp # End Source File --- 313,316 ---- *************** *** 413,416 **** --- 365,372 ---- # Begin Source File + SOURCE=..\src\widgets\uprogressbar.cpp + # End Source File + # Begin Source File + SOURCE=..\src\widgets\uradiobutton.cpp # End Source File *************** *** 453,461 **** # Begin Source File ! SOURCE=..\src\widgets\utextedit.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\utexteditui.cpp # End Source File # Begin Source File --- 409,425 ---- # Begin Source File ! SOURCE=..\src\widgets\uspinbox.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\ustylehints.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\ustylemanager.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\widgets\utextedit.cpp # End Source File # Begin Source File *************** *** 465,469 **** # Begin Source File ! SOURCE=..\src\ui\uthemelookandfeel.cpp # End Source File # Begin Source File --- 429,437 ---- # Begin Source File ! SOURCE=..\src\text\utextlayout.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\widgets\utextwidget.cpp # End Source File # Begin Source File *************** *** 473,477 **** # Begin Source File ! SOURCE=..\src\ui\uuimanager.cpp # End Source File # Begin Source File --- 441,449 ---- # Begin Source File ! SOURCE=..\src\uvalidator.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\uvertexarray.cpp # End Source File # Begin Source File *************** *** 493,500 **** # Begin Source File - SOURCE=..\src\ui\uwidgetui.cpp - # End Source File - # Begin Source File - SOURCE=..\src\image\uxbmicon.cpp # End Source File --- 465,468 ---- *************** *** 521,524 **** --- 489,496 ---- # Begin Source File + SOURCE=..\src\xml\uxul.cpp + # End Source File + # Begin Source File + SOURCE=..\src\ux\uxwgldriver.cpp # End Source File Index: ufo_wgl.dsp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/msvc/ufo_wgl.dsp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ufo_wgl.dsp 13 Feb 2005 16:57:33 -0000 1.2 --- ufo_wgl.dsp 2 Sep 2005 13:27:52 -0000 1.3 *************** *** 101,133 **** # Begin Source File ! SOURCE=..\src\uabstractcontext.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstractdisplay.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstracttoolkit.cpp # End Source File # Begin Source File ! SOURCE=..\src\events\uactionevent.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\basic\ubasicbuttonui.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\basic\ubasiccheckboxui.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\basic\ubasiccheckboxmenuitemui.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\basic\ubasiccomboboxui.cpp # End Source File # Begin Source File --- 101,133 ---- # Begin Source File ! SOURCE=..\src\xml\tinyxml.cpp # End Source File # Begin Source File ! SOURCE=..\src\xml\tinyxmlerror.cpp # End Source File # Begin Source File ! SOURCE=..\src\xml\tinyxmlparser.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstractcontext.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstractdisplay.cpp # End Source File # Begin Source File ! SOURCE=..\src\widgets\uabstractslider.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstracttoolkit.cpp # End Source File # Begin Source File ! SOURCE=..\src\events\uactionevent.cpp # End Source File # Begin Source File *************** *** 137,185 **** # Begin Source File ! SOURCE=..\src\ui\basic\ubasicinternalframeui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasiclabelui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasiclistboxui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasiclookandfeel.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicmenubarui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicmenuitemui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicpopupmenuui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicradiobuttonui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicscrollbarui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicseparatorui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicsliderui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasictexteditui.cpp # End Source File # Begin Source File --- 137,141 ---- # Begin Source File ! SOURCE=..\src\ui\ubasicstyle.cpp # End Source File # Begin Source File *************** *** 217,224 **** # Begin Source File - SOURCE=..\src\util\ucolorgroup.cpp - # End Source File - # Begin Source File - SOURCE=..\src\widgets\ucombobox.cpp # End Source File --- 173,176 ---- *************** *** 233,237 **** # Begin Source File ! SOURCE=..\src\text\udefaultdocumentrenderer.cpp # End Source File # Begin Source File --- 185,189 ---- # Begin Source File ! SOURCE=..\src\ui\ucss.cpp # End Source File # Begin Source File *************** *** 241,244 **** --- 193,200 ---- # Begin Source File + SOURCE=..\src\widgets\udockwidget.cpp + # End Source File + # Begin Source File + SOURCE=..\src\text\udocumentfactory.cpp # End Source File *************** *** 293,301 **** # Begin Source File ! SOURCE=..\src\gl\ugl_style.cpp # End Source File # Begin Source File ! SOURCE=..\src\gl\ugl_texturefontrenderer.cpp # End Source File # Begin Source File --- 249,257 ---- # Begin Source File ! SOURCE=..\src\gl\ugl_texturefontrenderer.cpp # End Source File # Begin Source File ! SOURCE=..\src\widgets\ugroupbox.cpp # End Source File # Begin Source File *************** *** 357,364 **** # Begin Source File - SOURCE=..\src\ui\ulistboxui.cpp - # End Source File - # Begin Source File - SOURCE=..\src\widgets\umenu.cpp # End Source File --- 313,316 ---- *************** *** 413,416 **** --- 365,372 ---- # Begin Source File + SOURCE=..\src\widgets\uprogressbar.cpp + # End Source File + # Begin Source File + SOURCE=..\src\widgets\uradiobutton.cpp # End Source File *************** *** 453,461 **** # Begin Source File ! SOURCE=..\src\widgets\utextedit.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\utexteditui.cpp # End Source File # Begin Source File --- 409,425 ---- # Begin Source File ! SOURCE=..\src\widgets\uspinbox.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\ustylehints.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\ustylemanager.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\widgets\utextedit.cpp # End Source File # Begin Source File *************** *** 465,469 **** # Begin Source File ! SOURCE=..\src\ui\uthemelookandfeel.cpp # End Source File # Begin Source File --- 429,437 ---- # Begin Source File ! SOURCE=..\src\text\utextlayout.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\widgets\utextwidget.cpp # End Source File # Begin Source File *************** *** 473,477 **** # Begin Source File ! SOURCE=..\src\ui\uuimanager.cpp # End Source File # Begin Source File --- 441,449 ---- # Begin Source File ! SOURCE=..\src\uvalidator.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\uvertexarray.cpp # End Source File # Begin Source File *************** *** 493,500 **** # Begin Source File - SOURCE=..\src\ui\uwidgetui.cpp - # End Source File - # Begin Source File - SOURCE=..\src\image\uxbmicon.cpp # End Source File --- 465,468 ---- *************** *** 517,520 **** --- 485,492 ---- # Begin Source File + SOURCE=..\src\xml\uxul.cpp + # End Source File + # Begin Source File + SOURCE=..\src\ux\uxwgldriver.cpp # End Source File Index: ufo_sdl.dsp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/msvc/ufo_sdl.dsp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ufo_sdl.dsp 13 Feb 2005 16:57:33 -0000 1.4 --- ufo_sdl.dsp 2 Sep 2005 13:27:52 -0000 1.5 *************** *** 101,133 **** # Begin Source File ! SOURCE=..\src\uabstractcontext.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstractdisplay.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstracttoolkit.cpp # End Source File # Begin Source File ! SOURCE=..\src\events\uactionevent.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\basic\ubasicbuttonui.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\basic\ubasiccheckboxui.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\basic\ubasiccheckboxmenuitemui.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\basic\ubasiccomboboxui.cpp # End Source File # Begin Source File --- 101,133 ---- # Begin Source File ! SOURCE=..\src\xml\tinyxml.cpp # End Source File # Begin Source File ! SOURCE=..\src\xml\tinyxmlerror.cpp # End Source File # Begin Source File ! SOURCE=..\src\xml\tinyxmlparser.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstractcontext.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstractdisplay.cpp # End Source File # Begin Source File ! SOURCE=..\src\widgets\uabstractslider.cpp # End Source File # Begin Source File ! SOURCE=..\src\uabstracttoolkit.cpp # End Source File # Begin Source File ! SOURCE=..\src\events\uactionevent.cpp # End Source File # Begin Source File *************** *** 137,185 **** # Begin Source File ! SOURCE=..\src\ui\basic\ubasicinternalframeui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasiclabelui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasiclistboxui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasiclookandfeel.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicmenubarui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicmenuitemui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicpopupmenuui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicradiobuttonui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicscrollbarui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicseparatorui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasicsliderui.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\basic\ubasictexteditui.cpp # End Source File # Begin Source File --- 137,141 ---- # Begin Source File ! SOURCE=..\src\ui\ubasicstyle.cpp # End Source File # Begin Source File *************** *** 217,224 **** # Begin Source File - SOURCE=..\src\util\ucolorgroup.cpp - # End Source File - # Begin Source File - SOURCE=..\src\widgets\ucombobox.cpp # End Source File --- 173,176 ---- *************** *** 233,237 **** # Begin Source File ! SOURCE=..\src\text\udefaultdocumentrenderer.cpp # End Source File # Begin Source File --- 185,189 ---- # Begin Source File ! SOURCE=..\src\ui\ucss.cpp # End Source File # Begin Source File *************** *** 241,244 **** --- 193,200 ---- # Begin Source File + SOURCE=..\src\widgets\udockwidget.cpp + # End Source File + # Begin Source File + SOURCE=..\src\text\udocumentfactory.cpp # End Source File *************** *** 293,301 **** # Begin Source File ! SOURCE=..\src\gl\ugl_style.cpp # End Source File # Begin Source File ! SOURCE=..\src\gl\ugl_texturefontrenderer.cpp # End Source File # Begin Source File --- 249,257 ---- # Begin Source File ! SOURCE=..\src\gl\ugl_texturefontrenderer.cpp # End Source File # Begin Source File ! SOURCE=..\src\widgets\ugroupbox.cpp # End Source File # Begin Source File *************** *** 357,364 **** # Begin Source File - SOURCE=..\src\ui\ulistboxui.cpp - # End Source File - # Begin Source File - SOURCE=..\src\widgets\umenu.cpp # End Source File --- 313,316 ---- *************** *** 413,416 **** --- 365,372 ---- # Begin Source File + SOURCE=..\src\widgets\uprogressbar.cpp + # End Source File + # Begin Source File + SOURCE=..\src\widgets\uradiobutton.cpp # End Source File *************** *** 453,461 **** # Begin Source File ! SOURCE=..\src\widgets\utextedit.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\utexteditui.cpp # End Source File # Begin Source File --- 409,425 ---- # Begin Source File ! SOURCE=..\src\widgets\uspinbox.cpp # End Source File # Begin Source File ! SOURCE=..\src\ui\ustylehints.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\ui\ustylemanager.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\widgets\utextedit.cpp # End Source File # Begin Source File *************** *** 465,469 **** # Begin Source File ! SOURCE=..\src\ui\uthemelookandfeel.cpp # End Source File # Begin Source File --- 429,437 ---- # Begin Source File ! SOURCE=..\src\text\utextlayout.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\widgets\utextwidget.cpp # End Source File # Begin Source File *************** *** 473,477 **** # Begin Source File ! SOURCE=..\src\ui\uuimanager.cpp # End Source File # Begin Source File --- 441,449 ---- # Begin Source File ! SOURCE=..\src\uvalidator.cpp ! # End Source File ! # Begin Source File ! ! SOURCE=..\src\uvertexarray.cpp # End Source File # Begin Source File *************** *** 493,500 **** # Begin Source File - SOURCE=..\src\ui\uwidgetui.cpp - # End Source File - # Begin Source File - SOURCE=..\src\image\uxbmicon.cpp # End Source File --- 465,468 ---- *************** *** 519,522 **** --- 487,494 ---- SOURCE=..\src\ux\uxtoolkit.cpp # End Source File + # Begin Source File + + SOURCE=..\src\xml\uxul.cpp + # End Source File # End Group # Begin Group "Header Files" |
|
From: Johannes S. <sch...@us...> - 2005-09-02 13:27:27
|
Update of /cvsroot/libufo/ufo-0.5/msvc/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13722/msvc/test Modified Files: test.dsw Added Files: xul.dsp Log Message: Added xul example to MSVC. Index: test.dsw =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/msvc/test/test.dsw,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** test.dsw 24 Sep 2004 14:58:14 -0000 1.2 --- test.dsw 2 Sep 2005 13:27:16 -0000 1.3 *************** *** 160,163 **** --- 160,175 ---- ############################################################################### + Project: "xul"=".\xul.dsp" - Package Owner=<4> + + Package=<5> + {{{ + }}} + + Package=<4> + {{{ + }}} + + ############################################################################### + Project: "widget3d"=".\widget3d.dsp" - Package Owner=<4> --- NEW FILE: xul.dsp --- # Microsoft Developer Studio Project File - Name="xul" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Application" 0x0101 CFG=xul - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "xul.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "xul.mak" CFG="xul - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "xul - Win32 Release" (based on "Win32 (x86) Application") !MESSAGE "xul - Win32 Debug" (based on "Win32 (x86) Application") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "xul - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c # ADD CPP /nologo /MD /W3 /GR /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x407 /d "NDEBUG" # ADD RSC /l 0x407 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 ufo.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"bin/xul.exe" !ELSEIF "$(CFG)" == "xul - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Win32_Debug" # PROP BASE Intermediate_Dir "Win32_Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x407 /d "_DEBUG" # ADD RSC /l 0x407 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 ufo_debug.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"bin/xul.exe" /pdbtype:sept !ENDIF # Begin Target # Name "xul - Win32 Release" # Name "xul - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\test\xul.cpp # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project |
|
From: Johannes S. <sch...@us...> - 2005-09-02 13:26:45
|
Update of /cvsroot/libufo/ufo-0.5/src/ux In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13581/src/ux Modified Files: uxsdldriver.cpp Log Message: Returning now with a single line warning if SDL library hasn't been found. Index: uxsdldriver.cpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/src/ux/uxsdldriver.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** uxsdldriver.cpp 16 Jul 2005 13:42:58 -0000 1.10 --- uxsdldriver.cpp 2 Sep 2005 13:26:36 -0000 1.11 *************** *** 78,83 **** --- 78,88 ---- m_isValid = m_sdlLib->load(UFO_SDL_LIB); } + if (!m_isValid) { + uWarning() << "Couldn't load SDL library.\n"; + return; + } s_sdl_driver = this; + #define UFO_SDL_PROC(ret,func,params) \ { \ |
|
From: Johannes S. <sch...@us...> - 2005-09-02 13:25:57
|
Update of /cvsroot/libufo/ufo-0.5/src/widgets In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13357/src/widgets Modified Files: ubutton.cpp Log Message: Fixed mnemonic distinction in setAccelerator. Index: ubutton.cpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/src/widgets/ubutton.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** ubutton.cpp 6 Jul 2005 11:32:17 -0000 1.23 --- ubutton.cpp 2 Sep 2005 13:25:48 -0000 1.24 *************** *** 409,428 **** m_accelerator = stroke; ! // search for accel index (i.e. whether this is a mnemonic accelerator ! std::string text(getText()); ! unsigned int index; ! // try lower case first ! index = text.find(char(/*std::*/tolower(stroke.getKeyCode() + 32))); ! if (index < text.length()) { ! getCompoundModel()->acceleratorIndex = index; ! } else { ! index = text.find(char(stroke.getKeyCode())); ! if (index < text.length()) { ! getCompoundModel()->acceleratorIndex = index; } ! } ! grabShortcut(stroke); } --- 409,444 ---- m_accelerator = stroke; ! // check whether this is a mnemonic accelerator ! if (stroke.getModifiers() == UMod::Alt) { ! // release old mnemonic ! if (getCompoundModel()->acceleratorIndex != -1) { ! std::string accel("Alt+"); ! accel += '+'; ! accel += getText()[getCompoundModel()->acceleratorIndex]; ! releaseShortcut(accel); } ! // grab new mnemonic ! std::string text(getText()); ! // try lower case first ! m_acceleratorIndex = text.find(char(/*std::*/tolower(stroke.getKeyCode() + 32))); ! if (m_acceleratorIndex < text.length()) { ! getCompoundModel()->acceleratorIndex = m_acceleratorIndex; ! } else { ! // now normal ! m_acceleratorIndex = text.find(char(stroke.getKeyCode())); ! if (m_acceleratorIndex < text.length()) { ! getCompoundModel()->acceleratorIndex = m_acceleratorIndex; ! } else { ! //FIXME: oops, nothing ! m_acceleratorIndex = -1; ! } ! } ! updateMnemonic(); ! } else { ! // no mnemonic, grab it ourself ! grabShortcut(stroke); ! } } |
|
From: Johannes S. <sch...@us...> - 2005-09-02 13:25:05
|
Update of /cvsroot/libufo/ufo-0.5/src/widgets In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13107/src/widgets Modified Files: ucompound.cpp Log Message: Fix for mnemonic detection in setText. Index: ucompound.cpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/src/widgets/ucompound.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** ucompound.cpp 5 Jul 2005 11:30:30 -0000 1.10 --- ucompound.cpp 2 Sep 2005 13:24:56 -0000 1.11 *************** *** 102,107 **** std::string::size_type index = text.find('&'); if (index < text.length() - 1 && text[index + 1] != '&') { - updateMnemonic(); - std::string newtext(text); newtext.erase(index, 1); --- 102,105 ---- *************** *** 109,112 **** --- 107,112 ---- getCompoundModel()->text = newtext; getCompoundModel()->acceleratorIndex = index; + + updateMnemonic(); } else { getCompoundModel()->text = text; |
|
From: Johannes S. <sch...@us...> - 2005-09-02 13:24:15
|
Update of /cvsroot/libufo/ufo-0.5/src/xml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12978/src/xml Modified Files: uxul.cpp Log Message: Added accesskey support and added genericButton method. Fixed error handling. Index: uxul.cpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/src/xml/uxul.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** uxul.cpp 12 Jul 2005 13:40:24 -0000 1.4 --- uxul.cpp 2 Sep 2005 13:24:07 -0000 1.5 *************** *** 178,182 **** } ! UDimension prefSize; element->QueryIntAttribute("width", &(prefSize.w)); element->QueryIntAttribute("height", &(prefSize.h)); --- 178,182 ---- } ! UDimension prefSize(UDimension::invalid); element->QueryIntAttribute("width", &(prefSize.w)); element->QueryIntAttribute("height", &(prefSize.h)); *************** *** 210,213 **** --- 210,232 ---- } + void + genericButton(TiXmlElement * element, UButton * button) { + genericWidget(element, button); + if (element->Attribute("label")) { + button->setText(element->Attribute("label")); + } + if (element->Attribute("accesskey")) { + std::string accel("Alt+"); + accel.append(element->Attribute("accesskey")); + button->setAccelerator(accel); + } + if (isTrue(element->Attribute("checked"))) { + button->setSelected(true); + } + if (element->Attribute("image")) { + button->setIcon(new UImageIcon(element->Attribute("image"))); + } + } + UMenu * createMenu(TiXmlElement * elem) { *************** *** 216,222 **** //} UMenu * menu = new UMenu(); ! if (elem->Attribute("label")) ! menu->setText(elem->Attribute("label")); ! genericWidget(elem, menu); TiXmlElement* popupElement = elem->FirstChildElement(); --- 235,239 ---- //} UMenu * menu = new UMenu(); ! genericButton(elem, menu); TiXmlElement* popupElement = elem->FirstChildElement(); *************** *** 237,249 **** // FIXME: } - if (isTrue(menuElement->Attribute("checked"))) { - item->setSelected(true); - } } else { item = new UMenuItem(); } ! genericWidget(menuElement, item); ! if (menuElement->Attribute("label")) ! item->setText(menuElement->Attribute("label")); menu->add(item); } else if ("menuseparator" == value) { --- 254,261 ---- // FIXME: } } else { item = new UMenuItem(); } ! genericButton(menuElement, item); menu->add(item); } else if ("menuseparator" == value) { *************** *** 263,267 **** UMenuBar * mbar = new UMenuBar(); genericWidget(elem, mbar); - UMenu * menu; TiXmlElement* menuElement = elem->FirstChildElement(); for(; menuElement; menuElement = menuElement->NextSiblingElement()) { --- 275,278 ---- *************** *** 286,295 **** if ("radio" == value) { URadioButton * radioButton = new URadioButton(); ! genericWidget(radioElement, radioButton); ! if (radioElement->Attribute("label")) ! radioButton->setText(radioElement->Attribute("label")); ! if (isTrue(radioElement->Attribute("checked"))) { ! radioButton->setSelected(true); ! } radioButton->setButtonGroup(buttonGroup); container->add(radioButton); --- 297,301 ---- if ("radio" == value) { URadioButton * radioButton = new URadioButton(); ! genericButton(radioElement, radioButton); radioButton->setButtonGroup(buttonGroup); container->add(radioButton); *************** *** 361,387 **** } else if ("button" == value) { UButton * button = new UButton(); ! genericWidget(widgetElement, button); ! if (widgetElement->Attribute("label")) ! button->setText(widgetElement->Attribute("label")); ! if (widgetElement->Attribute("image")) ! button->setIcon(new UImageIcon(widgetElement->Attribute("image"))); container->add(button); } else if ("checkbox" == value) { UCheckBox * checkBox = new UCheckBox(); ! genericWidget(widgetElement, checkBox); ! if (widgetElement->Attribute("label")) ! checkBox->setText(widgetElement->Attribute("label")); ! if (isTrue(widgetElement->Attribute("checked"))) { ! checkBox->setSelected(true); ! } container->add(checkBox); } else if ("radio" == value) { URadioButton * radioButton = new URadioButton(); ! genericWidget(widgetElement, radioButton); ! if (widgetElement->Attribute("label")) ! radioButton->setText(widgetElement->Attribute("label")); ! if (isTrue(widgetElement->Attribute("checked"))) { ! radioButton->setSelected(true); ! } container->add(radioButton); } else if ("label" == value) { --- 367,379 ---- } else if ("button" == value) { UButton * button = new UButton(); ! genericButton(widgetElement, button); container->add(button); } else if ("checkbox" == value) { UCheckBox * checkBox = new UCheckBox(); ! genericButton(widgetElement, checkBox); container->add(checkBox); } else if ("radio" == value) { URadioButton * radioButton = new URadioButton(); ! genericButton(widgetElement, radioButton); container->add(radioButton); } else if ("label" == value) { *************** *** 485,491 **** bool loadOkay = m_doc->LoadFile(); if (!loadOkay) { ! //sprintf(m_error, "Could not load test file 'demotest.xml'. Error='%s'. Exiting.\n", ! //doc.ErrorDesc( ); ! //exit( 1 ); } } --- 477,484 ---- bool loadOkay = m_doc->LoadFile(); if (!loadOkay) { ! uError() << "Couldn't load file: " << guiFile << "\n" ! << m_doc->ErrorDesc() << "\n"; ! delete (m_doc); ! m_doc = NULL; } } *************** *** 493,496 **** --- 486,493 ---- URootPane * UXul::createRootPane() { + if (!m_doc) { + uError() << "no XML document loaded.\n"; + return NULL; + } if (!m_root) { m_root = new URootPane(); *************** *** 561,564 **** --- 558,565 ---- UXFrame * UXul::createFrame() { + if (!m_doc) { + uError() << "no XML document loaded.\n"; + return NULL; + } UXFrame * frame = static_cast<UXDisplay*>(UXDisplay::getDefault())->createFrame(); |
|
From: Johannes S. <sch...@us...> - 2005-08-31 15:31:07
|
Update of /cvsroot/libufo/ufo-0.5/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21391/src Modified Files: uobject.cpp Log Message: Added sigDestroyed Signal. Fixed releasePointer to allow multiple calls to releasePointer after multiple calls to trackPointer by removing only the first occurence of the pointer. Index: uobject.cpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/src/uobject.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** uobject.cpp 3 May 2005 11:09:36 -0000 1.13 --- uobject.cpp 31 Aug 2005 15:30:31 -0000 1.14 *************** *** 109,112 **** --- 109,113 ---- } UObject::~UObject() { + m_sigDestroyed(this); releaseAllPointers(); nFreed++; *************** *** 171,178 **** bool UObject::releasePointer(UCollectable * c) { ! unsigned int oldSize = m_pointers.size(); ! m_pointers.remove(c); ! if (oldSize > m_pointers.size()) { c->unreference(); return true; } --- 172,181 ---- bool UObject::releasePointer(UCollectable * c) { ! // removes the first occurence of c and unreferences it ! std::list<const UCollectable*>::iterator iter; ! iter = std::find(m_pointers.begin(), m_pointers.end(), c); ! if (iter != m_pointers.end()) { c->unreference(); + m_pointers.erase(iter); return true; } *************** *** 182,189 **** bool UObject::releasePointer(const UCollectable * c) { ! unsigned int oldSize = m_pointers.size(); ! m_pointers.remove(c); ! if (oldSize > m_pointers.size()) { c->unreference(); return true; } --- 185,194 ---- bool UObject::releasePointer(const UCollectable * c) { ! // removes the first occurence of c and unreferences it ! std::list<const UCollectable*>::iterator iter; ! iter = std::find(m_pointers.begin(), m_pointers.end(), c); ! if (iter != m_pointers.end()) { c->unreference(); + m_pointers.erase(iter); return true; } |
|
From: Johannes S. <sch...@us...> - 2005-08-31 15:31:06
|
Update of /cvsroot/libufo/ufo-0.5/include/ufo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21391/include/ufo Modified Files: uobject.hpp Log Message: Added sigDestroyed Signal. Fixed releasePointer to allow multiple calls to releasePointer after multiple calls to trackPointer by removing only the first occurence of the pointer. Index: uobject.hpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/include/ufo/uobject.hpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** uobject.hpp 21 May 2005 15:18:16 -0000 1.14 --- uobject.hpp 31 Aug 2005 15:30:31 -0000 1.15 *************** *** 33,39 **** #include "ucollectable.hpp" ! //#include "usignaldefs.h" ! //#include "signals/ufo_signals.hpp" ! //#include "signals/usignal.hpp" #include <string> --- 33,37 ---- #include "ucollectable.hpp" ! #include "signals/usignal.hpp" #include <string> *************** *** 234,238 **** /** Increases the reference count of c by 1 and adds c to the internal ! * memory tracking list. Does nothing if c is * @param c The pointer this widget should track. May be NULL. * @return The added object or NULL on failure. --- 232,239 ---- /** Increases the reference count of c by 1 and adds c to the internal ! * memory tracking list. Does nothing if c is NULL. ! * You may call trackPointer several times with the same pointer as ! * argument. ! * @see releasePointer * @param c The pointer this widget should track. May be NULL. * @return The added object or NULL on failure. *************** *** 240,244 **** UCollectable * trackPointer(UCollectable * c); /** Increases the reference count of c by 1 and adds c to the internal ! * memory tracking list. * @param c The pointer this widget should track. May be NULL. * @return The added object or NULL on failure. --- 241,248 ---- UCollectable * trackPointer(UCollectable * c); /** Increases the reference count of c by 1 and adds c to the internal ! * memory tracking list. Does nothing if c is NULL. ! * You may call trackPointer several times with the same pointer as ! * argument. ! * @see releasePointer * @param c The pointer this widget should track. May be NULL. * @return The added object or NULL on failure. *************** *** 246,251 **** const UCollectable * trackPointer(const UCollectable * c); ! /** If c is in the memory tracking list, decreases the reference count ! * of c by 1 and removes it from the memory tracking list. * @param c The pointer this widget should remove from its memory * tracking list. May be NULL. --- 250,256 ---- const UCollectable * trackPointer(const UCollectable * c); ! /** Removes the first occurence of c from the memory tracking list and ! * decreases its reference count by 1. ! * @see trackPointer * @param c The pointer this widget should remove from its memory * tracking list. May be NULL. *************** *** 253,258 **** */ bool releasePointer(UCollectable * c); ! /** If c is in the memory tracking list, decreases the reference count ! * of c by 1 and removes it from the memory tracking list. * @param c The pointer this widget should remove from its memory * tracking list. May be NULL. --- 258,264 ---- */ bool releasePointer(UCollectable * c); ! /** Removes the first occurence of c from the memory tracking list and ! * decreases its reference count by 1. ! * @see trackPointer * @param c The pointer this widget should remove from its memory * tracking list. May be NULL. *************** *** 285,288 **** --- 291,304 ---- std::list<const UCollectable*> m_pointers; + + public: // Public Signals + /** This signal is fired immediately before this object is destroyed + * Please note that all information about subclass features is already + * destroyed. + */ + USignal1<UObject*> & sigDestroyed(); + + private: // Private Signals + USignal1<UObject*> m_sigDestroyed; }; *************** *** 318,321 **** --- 334,343 ---- } + // signals + inline USignal1<UObject*> & + UObject::sigDestroyed() { + return m_sigDestroyed; + } + } // namespace ufo |
|
From: Johannes S. <sch...@us...> - 2005-08-19 13:58:21
|
On Friday 19 August 2005 12:51, Andreas Beckermann wrote: > On Thursday 18 August 2005 20:05, Johannes Schmidt wrote: > > Update of /cvsroot/libufo/ufo-0.5/src > > In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15244/src > > > > Modified Files: > > uabstractdisplay.cpp > > Log Message: > > Fixed deletion of volatile data objects. > > Hi > I'm afraid you need to explain this patch to me. Is this meant to be the > complete fix? No, only a dumb copy of what has already been in UContextGroup. It just ensures a correct clean-up at destruction of UAbstractDisplay. Johannes |
|
From: Andreas B. <b_...@gm...> - 2005-08-19 10:51:10
|
On Thursday 18 August 2005 20:05, Johannes Schmidt wrote: > Update of /cvsroot/libufo/ufo-0.5/src > In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15244/src > > Modified Files: > uabstractdisplay.cpp > Log Message: > Fixed deletion of volatile data objects. Hi I'm afraid you need to explain this patch to me. Is this meant to be the complete fix? As far as I can see this fixes deletion a) destruction of ufo::UAbstractDisplay b) receiving ufo::UEvent::Refresh events However the memory leak should still be present (with the exception that it cannot be found using valgrind anymore, as the objects are properly deleted on destruction): 1. Load an image, set it as an icon 2. Load an image, set it as an icon, replacing the previous icon -> the first image still is not deleted (memory leak of the size of one image) Or do I miss something? I cannot find any place in libufo where ufo::UEvent::Refresh events are generated (with the exception of uxsdldriver.cpp and even therefore resize events only) So what do I miss? CU Andi |
|
From: Johannes S. <sch...@us...> - 2005-08-18 18:05:29
|
Update of /cvsroot/libufo/ufo-0.5/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15244/src Modified Files: uabstractdisplay.cpp Log Message: Fixed deletion of volatile data objects. Index: uabstractdisplay.cpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/src/uabstractdisplay.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** uabstractdisplay.cpp 5 Jul 2005 11:29:19 -0000 1.15 --- uabstractdisplay.cpp 18 Aug 2005 18:05:20 -0000 1.16 *************** *** 68,71 **** --- 68,77 ---- setDefault(NULL); } + // unreference volatile data + for(std::list<UVolatileData*>::iterator iter = m_volatileData.begin(); + iter != m_volatileData.end(); + ++iter) { + (*iter)->unreference(); + } } *************** *** 280,286 **** break; case UEvent::Refresh: { ! for(std::list<UVolatileData*>::iterator iter = m_volatileData.begin(); ! iter != m_volatileData.end(); ++iter) { ! (*iter)->refresh(); } } --- 286,309 ---- break; case UEvent::Refresh: { ! // refresh volatile data and remove unused data ! for(std::list<UVolatileData*>::iterator next_iter, iter = m_volatileData.begin(); ! iter != m_volatileData.end(); ! iter = next_iter) { ! next_iter = iter; ! ++next_iter; ! if ((*iter)->getReferenceCount() == 1) { ! // this object is ready for deletion ! (*iter)->unreference(); ! m_volatileData.erase(iter); ! } else { ! (*iter)->refresh(); ! } ! } ! // refresh contexts ! std::vector<UContext*> contexts = getContexts(); ! for(std::vector<UContext*>::iterator citer = contexts.begin(); ! citer != contexts.end(); ! ++citer) { ! (*citer)->refresh(); } } |
|
From: Johannes S. <sch...@us...> - 2005-08-17 09:58:22
|
Update of /cvsroot/libufo/ufo-0.5/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6642/src Modified Files: umenumanager.cpp Log Message: Fixed deselecting top level menu. Selecting first menu item on changing top level menu (thanks Mobius). Index: umenumanager.cpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/src/umenumanager.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** umenumanager.cpp 15 Aug 2005 17:29:29 -0000 1.14 --- umenumanager.cpp 17 Aug 2005 09:57:56 -0000 1.15 *************** *** 117,121 **** case UKey::UK_LEFT: if (topLevel) { ! highlightPreviousSibling(menu); } else { UMenu * parentMenu = item->getParentMenu(); --- 117,121 ---- case UKey::UK_LEFT: if (topLevel) { ! highlightPreviousTopLevel(menu); } else { UMenu * parentMenu = item->getParentMenu(); *************** *** 132,136 **** case UKey::UK_RIGHT: if (topLevel) { ! highlightNextSibling(menu); } else if (menu) { recalcPathWithLeaf(dynamic_cast<UMenuItem*>(menu->getPopupMenu()->getWidget(0))); --- 132,136 ---- case UKey::UK_RIGHT: if (topLevel) { ! highlightNextTopLevel(menu); } else if (menu) { recalcPathWithLeaf(dynamic_cast<UMenuItem*>(menu->getPopupMenu()->getWidget(0))); *************** *** 322,325 **** --- 322,329 ---- } } + // special case for deselecting top level menu + if (!parents.size() && m_menuPath.size() && *(m_menuPath.begin()) == item) { + ++path_iter; + } // clear all non-identical parents |
|
From: Johannes S. <sch...@us...> - 2005-08-17 09:09:57
|
Update of /cvsroot/libufo/ufo-0.5/src/widgets In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31202/src/widgets Modified Files: utextwidget.cpp Log Message: Fixed mem leak in UTextWidget (thanks Andreas). Index: utextwidget.cpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/src/widgets/utextwidget.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** utextwidget.cpp 20 Jul 2005 10:15:16 -0000 1.2 --- utextwidget.cpp 17 Aug 2005 09:09:46 -0000 1.3 *************** *** 101,104 **** --- 101,108 ---- } + UTextWidget::~UTextWidget() { + delete (m_textLayout); + } + void UTextWidget::setContentType(const std::string & type) { |
|
From: Johannes S. <sch...@us...> - 2005-08-17 09:09:57
|
Update of /cvsroot/libufo/ufo-0.5/include/ufo/widgets In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31202/include/ufo/widgets Modified Files: utextwidget.hpp Log Message: Fixed mem leak in UTextWidget (thanks Andreas). Index: utextwidget.hpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/include/ufo/widgets/utextwidget.hpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** utextwidget.hpp 21 May 2005 15:46:57 -0000 1.1 --- utextwidget.hpp 17 Aug 2005 09:09:46 -0000 1.2 *************** *** 55,59 **** --- 55,61 ---- */ UTextWidget(const std::string & text); + virtual ~UTextWidget(); + public: // Public methods /** Sets the content type. This may change the document class. * So far, only plain text documents are supported. |