forked from parogers/pgu
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
410 lines (344 loc) · 17.5 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
0.18.0
- added "clean" theme with experimental alpha support
- added pngs missing in "gray" theme
- added various checks for required style information
- added "down_offset" style for shifting button contents when clicked
- added support for PGU_THEME environment variable
- added code for handling widgets that need alpha blending
- bug fix in basic.is_color
- bug fix in basic.Label.set_font
0.17.0
- fixed a python3 compatibility problem with setup.py
- module html.py now working under python3
- added an "activate" signal to text input box
- removed some obsolete files
- removed html5.py example
0.16.0
- fixed the documentation generator script so it works with the new docstrings
- various fixes to make PGU compatible with python3
- better error handling in various places
0.15.0
- replaced use of __setattr__ with property and setter functions
0.14.0
- fixed: removed string exceptions
- fixed: converted docstrings to standard python format
- fixed: table properly expands vertically
- fixed: Widget.get_abs_rect now reporting correct rect
- fixed: unicode and font problems with button and label widgets
- fixed: various problems with handling of colors and alpha value
0.12.0 -
- active development and maintanence taken over by Peter Rogers
- bug fixes for pygame 1.8.1
0.11.0 -
- added: gui.TextArea - thanks to Clint Herron for this really nice widget!
0.10.6 -
- fixed: python 2.5 compat issue
- fixed: mouse wheel doesn't send CLICK events anymore.
- fixed: reduced number of copy() operations (which was causing a bit of a memory leak)
- fixed: made ScrollArea creation work for more pixel perfect kinds of cases...
- fixed: added needed style info into style for dialog
0.10.5 -
- added: support for style loading .ini files
[link]
color: red
..
[link:hover]
color: blue
.. etc ..
- changed: filedialog now uses the dialog class for most all of its
parts. main style change is that
filedialog.title.label => dialog.title.label
and all other filedialog items are gone, except for
filedialog.folder
- changed: filedialog style requirements to be much simpler. in general
it just uses dialog and default labels, etc now.
- fixed: some excessive repaints going on due to use of chsize() before a paint().
now chsize() doesn't do anything until after the widget is painted at least once.
- fixed: some code in VScroll, HScroll that was causing extra resizes within tables
for no particularily good reason.
- fixed: menu not working bugs
- changed: menu so that the cls of a menu doesn't change, it just keeps
the down pcls while down.
- fixed: bug where get_abs_rect() was wrong due to theme stuff... kind of a HACK
- added: shift-TAB for previous support
- fixed: bug where TAB could cause a crash if no non-container widget
was in focus at the time.
- changed: added support for width,height scaling for Image widgets
- changed: improved caching of style data so that complex screens repaint much quicker (removed .cache() method from style object)
- changed: misc changes to add better keyboard / nav support to many widgets (selects, sliders, etc)
- added: ability to move between widgets via arrow keys .. to stop this behaviour, make sure the
widget that has focus returns True to say that it "already used the event"
- changed: after an event() handler, user should return try if they used
the event. otherwise a container may use the TABS, arrow keys, etc for
navigation or other purposes. somewhat optional, will only impact
widgets that use tabs/arrow keys ATM.
- added: a Link widget
- fixed: bug where pygame would crash if full screen was toggled
- fixed: some style issue in the select widget
- fixed: some rendering issues with sliders being off by a few pixels
- fixed: some icon styling bugs due to incorrect init order.. but i'll still probably
deprecate it anyways! ha!
- fixed: backgrounds of widgets that are getting repainted, etc.
- fixed: disabled backgrounds that didn't appear correctly
0.10.4 -
- fixed: bug in dialog.py -- directories with '!' at beginning were being sorted after '..'
thanks Jason Liu for this patch
- fixed: bug in high.py
- fixed: scrollbars scroller not the right size
0.10.3 -
- added: gui16.py and gui17.py some new fun gui examples.
- fixed: isovid doesn't work when using run_codes 'cause it gets
width and height from the wrong thing!
- change: PIL support removed from tileedit, the code is still in there if someone
wants to troubleshoot it
- fixed: in tileedit, line 109 should be assert mode in ("RGB", "RGBA"), not assert mode in "RGB", "RGBA"
- fixed: when the scroll area is really short, etc, having 3
scroll arrows can take up too much room. so now it only shows as many magic scroll
buttons as it can fit neatly.
- fixed: using app.paint() with custom event loop skips chsize related stuff
- fixed: install script error, where Vera.ttf was not installed
- fixed: timer.py bug where the first frame is really long sometimes
i think this is due to some kind of a pygame bug
also, when FPS are set to 0, the timer is now set to
go at "full rate" instead of give a div by zero error
- fixed: ScrollArea / SlideBox.widget = x doesn't work.
0.10.2 -
- fixed: gui11, when everything is removed scroll bar is removed
too soon!
- fixed: gui11, graphical crud shows up after removing stuff, sometimes
- fixed: Select can drop below window sometimes, and it looks bad.
now Selects that are at the bottom of the screen may go upwards.
- added: ProgressBar widget & documentation.
- fixed: if the widget in the scroll doesn't fill it up,
doing any scrolling causes a crash
- fixed: gui.Menus not working due to focus related fixes
- added: widget.connect gets *values, not just value to pass on
so that you can have multi-param methods. See widget.connect
documentation for details.
- added: widget.send can send the event and the widget to
the reciever if the receiving fnc has the params named
_widget or _event or _code. See widget.connect documentation.
- fixed: disabled items in scrollarea don't get alpha-ized due to
alpha image that is being drawn to.
- fixed: scrollers don't scroll quite like normal scrollers do...
- fixed: slider size can get too small
- added: scrollbars added in arrows, so that they are scrollbars
instead of just sliders.
- fixed: sliders & scrollbars inconsistent, and don't look good
- fixed: weird border in scrollarea, sometimes...
- fixed: internal cleanup of ScrollBox, etc. the scollers will
automatically appear when the sub-widget gets bigger, smaller, etc.
- fixed: when you click on a disabled widget,
the click can slip to a non-disabled widget
- added: .disabled, .focusable attributes to widgets,
see widget.widget documentation
- fixed: .add, .remove for Container, Table, Document so they
all work properly. gui14.py adjusted to demo accordingly
- fixed: select to work, by adding an improper use of resize ;)
- fixed: a number of improper uses of resize()
- fixed: gui.Table to only resize() something a second time
if it _really_ needs to
- fixed: gui.Table to clear() out old rows properly
- fixed: gui.Widget so that chsize() would work a lot faster (thus
the gui13.py example is very nice and smooth now, doesn't feel like
it is lagging anymore.)
- fixed: ScrollBox a lot faster by using double buffering
this will, however, require a lot of memory for large buffers
but hopefully that won't be a problem, it makes examples/gui12.py blaze
during scrolling, whereas before it was quite slow even on my 2x3 GHz machine.
- fixed: "calling Button.event() before Button.paint() causes crash"
- fixed: "container.remove makes a widget stop working but not disappear"
- fixed: some docs about a bug whereby container.add(w) won't work
after the app is running
0.10.1 -
- fixed setup.py to work on my system when installing pgu
0.10 -
- added in a Password widget -- submitted by Dr. L. Humbert <[email protected]>
- added in new documentation -- HTML only now.
- added jhofmann's tiled preview widget to tileedit
also included PIL support
- removed gui/background.py -- merged contents into Theme. Made theme interface more cleanly seperated Widget.py
jhofmann: added tiled preview widget to tileedit
- zx64: in tilevid4,5 examples -- removed bold so that they work on more systems
2005-12-10 - 0.10-alpha-ludumdare-7-full-combat-version
I've released this one just hours before LD #7 so that you (and I) can both benefit from
some nice time saving features!
All this stuff is alpha and subject to change before a real release!
- fonts.py -- functions for loading bitmap based fonts (useful when TTF just doesn't cut it!)
- algo.py -- functions for path finding (useful for guards, etc in games)
- ani.py -- functions to help load animations into your vid objects (just plain useful)
A new script:
- levelfancy -- a script for taking a basic level and fancying it up -- try this in
examples: ../scripts/levelfancy map.tga level.tga fancy.tga
then view each of those tgas with leveledit to see what is going on...
An old script:
I removed tganew ages ago, but I'm putting it back. I like it.
During this contest I will be available in #ludumdare and #pygame for questions
related to using pgu. Have fun in the contest! If you find any bugs or anything I'll be
glad to fix 'em and release a mid-contest version of pgu!
2005-12-01 - 0.9
I added INSTALL.txt with some install instructions, as well as instructions
for distributing pgu with your game/application.
**** Minor API Update ****************************************************
Sorry about this, but I realized after releasing 0.8 that the new theme loading
API wasn't very good... (And had some bugs to boot!)
This update will be in comparison to 0.7, since I don't think many people
downloaded 0.8 yet.
For using the default theme, the API remains the same (do nothing special).
For using an custom theme:
It was:
gui.theme.load("gray")
It is:
theme = gui.Theme("gray")
app = gui.App(theme=theme)
Also you can use your own fully custom theme (oooh!)
theme = CustomTheme()
app = gui.App(theme=theme)
**************************************************************************
2005-11-30 - 0.8
phil: fixed tileedit and leveledit to use new theme loading API
phil: fixed tabbing bug where last item would not get tabbed to
phil: fixed setup.py to install pgu.gui
phil: fixed pgu.gui to import pygame.locals
**** Minor API Update ***************************************************
The API for loading a custom theme has been changed...
It was:
gui.theme.load("gray")
It is:
app = gui.App()
app.theme.load("gray")
Also you can use your own fully custom theme (oooh!)
theme = MyTheme()
app = gui.App(theme=theme)
*************************************************************************
Cthulhu32: found bug in leveledit where file name isn't picked correctly
2005-11-18 - 0.7
**** Crazy API Update ****************************************************
Theme decorations are now seperate from the Widgets. Thus:
* Widget._resize() was removed
* Widget.getspacing() was removed
* Widget.resize() returns None was changed to Widget.resize() returns w,h.
The container is responsible to do this:
widget.rect.w,widget.rect.h = widget.resize()
* Widget.chsize() was added, it requests that a widget be re-resize()ed --
similar to Widget.repaint()
* To disable the theme decorations on a widget:
widget = Widget(decorate=False)
**************************************************************************
- phil - added chsize() method which requests that a widget be re-size()ed. (similar to repaint() or reupdate() except for the resize() method
- added default font (Vera)
- removed non-working hide,show calls
- fdarling - added a new table class that works a bit cleaner. should
not have any noticiable API breaks.
- fdarling - reorganized pgu.gui to be a package
- added input type='file' to pgu.html
- fixed Toolbox bug (Toolbox.value = x wasn't working right)
- create circles in tileedit
- flip bkgr/tiles in leveledit
- tileedit / leveledit - illume added a feature where by you can check
a box to "auto-save" your tiles when you blur the window. leveledit
will auto-reload those changes.
- since the getwidths() feature was broken anyways, it has been removed
- when you create your main container for your app you _may_ need to
add align=-1, valign=-1 to get it in the top right corner the way
it used to be
- phil -- added Vera.ttf to theme, did some cleanup
- gal koren -- added a FileDialog, List, misc patches, etc, added gui11, gui12 as demos of new features
- fdarling -- fixed some UI issues in Menu
- gal koren -- fixed a focus bug
- exampes, gui9 - -save/saveas are broken -- fname is set to a widget
2005-10-21 - 0.6
- gal koren -- submitted an excellent ScrollArea widget to pgu.gui -- see it demoed
in examples/gui6.py
- added default size to HSlider, VSlider in the theme
2005-10-07 - 0.5
- fixed you can select a tile outside of the tile area by using the up arrow once ..
- fdarling -- fixed some UI issues with menus and sliders and did some general code cleanup
- fdarling -- use None instead of 0 for nulls throughout the code
- added to leveledit/tileedit: "are you sure you want to quit" / "you still have files unsaved..." for before "quit" or "open" or "new"...
- added open/new/saveas/save, etc to tileedit/leveledit
- removed tganew. update docs to reflect removal of this artifact
- fixed gui CLICK events so that they only occur when hovering over the widget
- fixed gui hovering so that when a mouse button is down, the mouse won't hover over widgets that aren't in focus
- fixed gui so that tabbing works a bit better
- fixed gui so that QUIT event is only sent when no (modal) windows are being displayed.
- added isovid, hexvid support to scripts/leveledit
- added pgu.high
- added pgu.isovid
- added pgu.hexvid
- added pgu.timer.Speedometer
- fixed gui.Button so that width,height works
- fixed html so that valign=middle (not center) works
- added better css for labels throughout gui, see new config.txt
- added shift+arrows to leveledit to move view by 1/8 screen
- added ctrl+arrows to leveledit to move view by 1 screen
- add scrollbars to leveledit
- fixed tutorial docs in gui10
- fixed bug where sprite wouldn't work without an ishape
2005-08-27 - 0.4
- fixed leveleditor so it displays backgroud / grid
2005-08-23 - 0.3
Bug Fixes:
- fixed do_br in html
- fixed rendertrim in html (no longer modifies the passed in rect)
- removed some debugging prints from html
- engine no longer requires screen for Game.run()
- ColorPicker in examples now works faster (doesn't repaint whole screen)
- fixed most of the crashes related to widgets going outside of their parent surface (when a widget is placed partly (or totaly) out of the screen: crash!) - input should move to the left when you max it out (gui.Input.paint)
- explain in tutorial/docs how to use tileedit and leveledit under windows
- fix .txt files so that they work under windows notepad
- fix tileedit, leveledit to work with new gui module
- make pcls work correctly for tool, input, keysym
- some not-so-standard-ascii characters make gui crash when inputted (gui.Input.event)
- when you tab after the final widget (at least in ReciPy): crash! (gui.Container.next)
- when you add something to a select (after it is already displayed): crash! (probably needs a resize)
- tab to next widget doesn't always work
- cleaned up the tiles.tga for the tilevid examples
Misc Changes:
- change container.resize to give out proper width/height depending on
the widgets contained, or style.width/height if appropriate
- refine the table auto-sizing algorithm a bit more
- make document work with resizing sub widgets
- h1,h2,h3 css in themes
- ul,li,ol work
API changes:
- in Tables, use .td() instead of .add() except when you want to add an object
as a "table cell" (it will be expanded to fill the cell)
t.td(w,colspan=2)
- widgets are not given a size in __init__, they are given a size by resize(), and their rect_margin, etc are created using _resize()
- now you can set up margins, borders, padding, just like in CSS2 (more or less). You may also
assign whole groups by omitting the _top/_right/_bottom/_left
e = Widget(style={'border_left':2,'border_color':(255,0,0),'margin':4})
- backgrounds respond to .pcls
- Box (background) widget removed and replaced with a CSS2 Box widget. The Box widget is used
by Tables for tds.
- Background widget created to replace old Box widget.
- some style parameters like padding_* must now be passed via the style dict:
e = Widget(style={'padding_left':4})
- change getsizes api to getwidths()
- clean up table API -- colspan, rowspan, row, cols, etc.
- make table sizing work such that:
- table.style.width, height force that min/max size
- suggested width/height only _offers_ it to be that big
- td.cell_width/height force min/max size, unless the min is greater
than that size, then it will have to be bigger
2005-08-02 - 1.0
- add default palette to tileedit code
- add #s for default codes in leveledit
- rewrite README.txt
- add a leveledit / tileedit / tganew documentation page
- rename tilecollide class -- merged into tilevid class
- finish doc generation
- make sure theme loading works in all cases ./$theme ../data/themes/$theme /usr/share/pgu/$theme
- gui - make event, not _event work with tut10
- get rid of /docs/tiles-samples and use the space shooter stuff
- write documentation
- update tutorials to use my ## format
- get text wrapping to work with paragraph breaks
- antialias fonts
- move /docs/examples to /examples
2005-07-?? - 1.0
- combined PGU, PGL and KJV into one package
2004-07-23 - "pgu" 1.1
- command line interface improved considerably
- use .ini files for init