dlxjj/imradv3
0262
1#pragma once2#include "node_standard.h"3 4struct TopWindow : UINode5{6 enum Kind { MainWindow, Window, Popup, ModalPopup, Activity };7 enum Placement { None, Left, Right, Top, Bottom, Center, Maximize };8 9 direct_val<ImGuiWindowFlags_> flags = ImGuiWindowFlags_NoCollapse;10 direct_val<Kind> kind = Window;11 bindable<std::string> title = "title";12 bindable<dimension_t> size_x = 640.f;13 bindable<dimension_t> size_y = 480.f;14 bindable<dimension_t> minSize_x = 0;15 bindable<dimension_t> minSize_y = 0;16 bindable<font_name_t> style_font;17 direct_val<pzdimension2_t> style_padding;18 direct_val<pzdimension2_t> style_spacing;19 direct_val<pzdimension2_t> style_innerSpacing;20 direct_val<pzdimension_t> style_borderSize;21 direct_val<pzdimension_t> style_rounding;22 direct_val<pzdimension_t> style_scrollbarSize;23 direct_val<pzdimension2_t> style_titlePadding;24 bindable<color_t> style_bg;25 bindable<color_t> style_menuBg;26 direct_val<Placement> placement = None;27 direct_val<bool> closeOnEscape = false;28 direct_val<bool> animate = false;29 direct_val<bool> initialActivity = false;30 31 event<> onBackButton;32 event<> onWindowAppearing;33 34 std::string userCodeBefore, userCodeAfter, userCodeMid;35 36 TopWindow(UIContext& ctx);37 void Draw(UIContext& ctx);38 void DrawTools(UIContext& ctx) {}39 void TreeUI(UIContext& ctx);40 bool EventUI(int, UIContext& ctx);41 auto Properties() ->std::vector<Prop>;42 auto Events() ->std::vector<Prop>;43 bool PropertyUI(int i, UIContext& ctx);44 void Export(std::ostream& os, UIContext& ctx);45 void Import(cpp::stmt_iterator& sit, UIContext& ctx);46 int Behavior() { return SnapInterior; }47 int ColumnCount(UIContext& ctx) { return 0; }48 std::string GetTypeName() { return "Window"; }49 const TopWindow& Defaults() { static TopWindow node(UIContext::Defaults()); return node; }50};51 52 