refactor(vpui): 引入 tkinter 式类层次 Misc/Wm/BaseWidget/Widget,新增容器控件 Frame
层次:Misc(mixin:master/tk + winfo_master/toplevel + bind/unbind) ├─ Tk(Wm, Misc) └─ BaseWidget(Misc) └─ Widget(BaseWidget) ← Label/Button/Entry/Scrollbar/FBCanvas/Text/Frame 全部继承 Widget。约束按 Test/MultiInheritTest 的布局模型:父类字段展平进子类、非首基类必须无字段(故 Wm 无字段)、基类方法内不做 self.<虚拟> 自我分派(多继承非最左基类的虚表索引会整体后移)。控件 master 由 Widget* 改为 Misc*(Tk* 成为合法上转型),原先 8 处 Tk*(self.master) 裸转改为 self.tk;事件派发统一走 BaseWidget.dispatch_event(先跑 bind 回调再 handle_event)。中文。
This commit is contained in:
1 parent
7b58758603
commit
f8b37564da
1 file changed
+495
-229
+495
-229
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user