-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathChangelog.txt
237 lines (198 loc) · 7.12 KB
/
Changelog.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
next:
* Add MouseButton enum
* PySide6.Canvas: pass button value in mouse events #5
* PySide6.Canvas: finish .drawShapely() (full support to GeometryCollection)
* wx.Canvas: add .drawShapely() (full support to GeometryCollection)
0.7.1:
* prevent double call to content() and UI handle loss during updating virtual view
* trigger vparent redraw on view node
* PySide6.Tab: properly find tab if tab content is inside a virtual node
0.7:
* Add {PySide6,wx}.Divider
* PySide6.Canvas: add .drawShapely()
0.6.1:
* Update files dialogs interface (types arg)
0.6:
* Add wx.Checkbox
* Add wx.RadioButton
* PySide6.ComboBox: fix change event
* Add wx.ComboBox
* Add wx.Canvas
* wx: add imperative dialogs
* {PySide6,wx}.Canvas.drawText: support color and size
* wx: fix Spacer/Scroll
* Add wx.Progressbar
0.5:
* Add PySide6.Application.quit()
* Update TextField interface: add edit_buffer_binding
* TextField: update .{input, change} callback interface
* Improve virtual nodes support
* Fix with the latest textual
* Update layout strategy for textual
* PySide6.Canvas: support drawText(anchor=)
0.4:
* PySide6: fix handling busy redraw events
* TimelimeView: setDaemon(True) for timer thread
* PySide6.Canvas: add .dblclick()
* PySide6.Canvas: add .drawPolygon()
Breaking Change:
* pass event object to click listener
* PySide6.Combobox: update callback interface
0.3.8:
* PySide6.TextField: separate .change and .input events
0.3.7:
* PySide6.RadioButton: fix triggering click callback
* PySide6.Window: clear focus for QLineEdit when the window is clicked
* PySide6.TextField: clear focus when enter is pressed
0.3.6:
* PySide6.Canvas: add .drawEllipse()
* PySide6.Canvas: add .{mousedown,mouseup,mousemove,wheel} events
* PySide6.Canvas: support drawText(rotate=)
* PySide6.Window: add .keypress event
* PySide6.Checkbox: connect click event
* PySide6.TextField: update focus policy
0.3.5:
* PySide6: accept style (theme) parameter
* PySide6.Canvas: add .drawRect()
* Add @PUIApp decorator
* Trigger view update with state(None)
* Add PySide6.Image
* Fix PySide6.Application threading issue
* PySide6.{Application,Window}: add icon support
0.3.4:
* Add PySide6.MatplotlibCanvas
* PySide6: update signal connection type to prevent nested view redraw
* State: register listener to returned value if it is a state object
0.3.3:
* Rename .tag() => .id()
* PySide6.Scroll: fix snapping to end when initial content is smaller than container
* PySide6.Canvas: get auto width/height if not specified
0.3.2:
* Support batched state mutation (see `tests/batched_state_mutation.py`)
* Supported ToolBarAction with icon
* Add WxPython backend
* Add PySide6.Grid
0.3.1:
* PySide6.Table:implement autofit
* PySide6.table: header show/hide control
* QtInPui: include widget id in node key to fix VDOM diff/patch
* PySide6.QToolBar: add toolbar QWidget support (by @j8xixo12)
0.3:
* PySide6 interoperability
0.2.7: 2023 Jul 20
* Add PySide6.Table
* State Binding: add .emit()
0.2.6: 2023 Jul 3
* Update dialogs interfaces
0.2.5: 2023 Jul 3
* Add textual.MarkDown
* Fix threading issue for subview updating
* Add PySide6.Modal
* Add PySide6.{OpenDirectory, OpenFile, OpenFiles, SaveFile, Information, Warning, Critical, Confirm, Prompt}
* Add Text(selectable=), Label(selectable=) for PySide6
* Add PySide6.TextField.change()
0.2.4: 2023 Jun 19
* Add PySide6.{QtTabWidget, QtTab}
* Add tkinter.{TkNotebook, TkNotebookFrame}
* Add flet.{FTabs, FTab}
* Add textual.{TTabs, TTab}
* Use unified naming for all backends (eg. QtTabWidget->Tabs)
* Rename .tk() -> .tkinter()
0.2.3: 2023 Jun 8
* Add flet.FMarkDown
* Fix applying .flet() params
* Add flet.FCanvas
* tkinter: Apply .style() params
* tkinter: improve Scroll()
* tkinter: Add TkRadiobutton, TkCheckbutton
* flet: Add FRadio, FCheckbox
0.2.2: 2023 Jun 6
* Flet: fix scroll
* Flet: workaround progressbar sizing issue
* Textual: improve layout sizing
* PySide6.QtMdiArea: add addSubWindow, removeSubWindow
* Add .style(color=,bgColor=,fontSize=,fontWeight=,fontFamily=)
0.2.1: 2023 May 24
* Add state.bind(getter=,setter=)
* Add empty .textual(), .tk()
* Flet: add FScroll, clickable FLabel
* Add QtWrapper and cookbook example
* Add QtMdiArea and QtMdiSubWindow
* Add QtMenuBar, QtMenu, QtAction
* Add QtSplitter
* Add FColumn.flet(alignment=,horizontal_alignment), FRow.flet(alignment=,vertical_alignment=)
* Update DOM Syncer
0.2.0: 2023 May 16
* Implemente TkCanvas.drawPolyline
* Add QtHtml/QtMarkdownn/QtRadioButton/QtCheckbox
* Change Button interface
* Cookbook: add progressbar
* Remove urwid backend
* Add textual backend
0.1.15: 2023 May 12
* Update canvas interface
* Fix tkWindow interface
0.1.14: 2023 May 11
* Remove Qt5 backend
* Bugfixes
* Cookbook: add scroll/canvas
0.1.13: 2023 May 11
* Accept arguments for click callback
* Add .layout(padding=)
* Fix timer-node relation issue after TimelineView v-dom sync
* Add Cookbook
0.1.12: 2023 May 7
* PySide6: Add QtComboBox, QtComboBoxItem, QtText as Text
* PySide6: Add .qt() for direct qt control (was in .layout())
* PySide6: Support .qt(StyleSheet=)
* PySide6: Add .click(callback) for QtLabel
* PySide6: Support horizontal/vertical settings in QtScrollArea
* State: Support callback registration: state(key, callback)
* Add example/pyside6_feedparser.py
0.1.11: 2023 May 2
* PySide6: bug and performance fixes
0.1.10: 2023 May 1
* Support PySide.QtWindow(maximize=)
* Support PySide.QtWindow(fullscreen=)
0.1.9: 2023 May 1
* Add PySide6.QtScrollArea
* Add PySide6.QtSpacerItem as Spacer
* Fix sizing for PySide6.QtCanvas
* Add support of color/width for tkinter.TkCanvasLine
* Add tkinter.TkCanvasPolyline
* Add basic tkinter.TkScroll
* Add .{inner, outer} properties
* Support QtCanvas(bgColor=)
0.1.8: 2023 Apr 30
* Add PySide6.QtCanvasPolyline
0.1.7: 2023 Apr 30
* State: don't trigger draw if value is unchanged
* Remove inspect-based find_pui()
* Pros: performance, no runtime inspect operations
* Cons: no filename/lineno info
0.1.6: 2023 Apr 30
* Split application/window
* PySide6.QCanvasLine: support color and width
* tkinter
* Fix canvas children traversal after setting terminal=True
* Fix nested view
* Resizable window
0.1.5: 2023 Apr 29
* Add __version__
0.1.4: 2023 Apr 29
* Nested View
* Cache view stack in thread local storage
0.1.3: 2023 Apr 15
* Preliminary support for urwid
* StateObject / StateList / StateDict
* TimelineView
* Hot-reload driven by Reloadium
0.1.2: 2023 Mar 14
* View decorator
* State and Binding
* simple DOM sync
* Preliminary support for tkinter/Qt5/PySide6/flet
* Canvas
* Generic interface
POC: 2023 Mar 10
* inspect-based hierarchy builder