slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
Public 成员函数 | Public 属性 | Private 成员函数 | 静态 Private 成员函数 | Private 属性 | 所有成员列表
z8::ui::FileExplorerNode类 参考final

把文件目录投影为 TreeView 的编辑器文件浏览控件。 更多...

#include <FileExplorerNode.h>

类 z8::ui::FileExplorerNode 继承关系图:
Inheritance graph
[图例]
z8::ui::FileExplorerNode 的协作图:
Collaboration graph
[图例]

Public 成员函数

 FileExplorerNode ()
 
const std::filesystem::path * GetPath (const TreeViewItemNode *item) const
 
void Refresh ()
 
bool SetProperty (const std::string &name, const std::string &value) override
 
const charTypeName () const override
 
- Public 成员函数 继承自 z8::ui::TreeViewNode
 TreeViewNode ()
 
const charTypeName () const override
 
void OnAfterLayout () override
 
bool SelectItem (TreeViewItemNode *item, bool notify=true)
 
- Public 成员函数 继承自 z8::ui::ScrollNode
 ScrollNode ()
 
BaseNodeContentHost () override
 
ScrollBehaviorGetScrollBehavior ()
 
void SetVerticalBarInsets (float top, float right, float bottom)
 
- Public 成员函数 继承自 z8::ui::BehaviorNode
 ~BehaviorNode () override
 
EventReply DispatchMouseDown (const MouseMovArgs &args)
 
bool DispatchMouseMove (const MouseMovArgs &args)
 
bool DispatchMouseDrag (const MouseMovArgs &args)
 
bool DispatchMouseUp (const MouseMovArgs &args)
 
bool DispatchMouseWheel (MouseWheelArgs args)
 
MouseCursor QueryMouseCursor (const MouseMovArgs &args) const
 
void DispatchAfterLayout () override
 
void DispatchBeforeLayout (float width, float height) const
 
void DispatchDragStarted (const MouseMovArgs &args) const
 
void DispatchDragCompleted (const MouseMovArgs &args) const
 
void CancelPointerCapture ()
 
IBehaviorAddBehavior (std::unique_ptr< IBehavior > behavior)
 
bool RemoveBehavior (IBehavior *behavior)
 
void SetHovered (bool hovered)
 
void SetPressed (bool pressed)
 
void SetFocused (bool focused)
 
template<typename T , typename... Args>
TAddBehavior (Args &&...args)
 
template<typename T >
TGetBehavior ()
 
template<typename T >
const TGetBehavior () const
 
- Public 成员函数 继承自 z8::ui::BaseNode
 BaseNode ()
 
 ~BaseNode () override
 
 BaseNode (const BaseNode &)=delete
 
BaseNodeoperator= (const BaseNode &)=delete
 
virtual bool RoutesToScene () const
 
bool Contains (float x, float y) const
 
bool Contains (MouseMovArgs args) const
 
virtual BaseNodeAddChild (std::unique_ptr< BaseNode > child)
 
void RemoveChildrenFrom (size_t first)
 
virtual void Synchronize ()
 
- Public 成员函数 继承自 z8::ui::IProperty
virtual ~IProperty ()=default
 
- Public 成员函数 继承自 z8::EventTarget
virtual ~EventTarget ()=default
 
virtual EventReply OnMouseDown (MouseMovArgs)
 
virtual EventReply OnMouseMove (MouseMovArgs)
 
virtual EventReply OnMouseDrag (MouseMovArgs)
 
virtual EventReply OnMouseUp (MouseMovArgs)
 
virtual EventReply OnMouseWheel (MouseWheelArgs)
 
virtual EventReply OnKeyDown (KeyArgs)
 
virtual EventReply OnKeyUp (KeyArgs)
 
virtual EventReply OnTextInput (wchar_t)
 
virtual MouseCursor GetMouseCursor (MouseMovArgs) const
 
virtual void OnPointerCaptureLost ()
 

Public 属性

std::filesystem::path RootPath = "asset"
 
bool ShowHidden = false
 
std::function< void(const std::filesystem::path &) PathSelected )
 
- Public 属性 继承自 z8::ui::TreeViewNode
TreeViewItemNodeSelectedItem = nullptr
 
std::function< void(TreeViewItemNode *) SelectionChanged )
 
- Public 属性 继承自 z8::ui::ScrollNode
BaseNodeViewportNode = nullptr
 
BaseNodeContentNode = nullptr
 
ScrollBarNodeVerticalScrollBarNode = nullptr
 
RectNodeVerticalScrollThumbNode = nullptr
 
- Public 属性 继承自 z8::ui::BehaviorNode
bool HitTestVisible = false
 
bool Hovered = false
 
bool Pressed = false
 
bool Focusable = false
 
bool Focused = false
 
std::vector< std::unique_ptr< IBehavior > > Behaviors
 
IBehaviorCapturedBehavior = nullptr
 
- Public 属性 继承自 z8::ui::BaseNode
std::string Key
 
LayoutStyle Style
 
LayoutBox Computed
 
BaseNodeParent = nullptr
 
std::vector< std::unique_ptr< BaseNode > > Children
 
float Left = 0.0f
 
float Top = 0.0f
 
float Width = 0.0f
 
float Height = 0.0f
 
float ChildOffsetX = 0.0f
 
float ChildOffsetY = 0.0f
 
bool ClipChildren = false
 
bool Visible = true
 
bool EffectiveVisible = true
 
bool LayoutManaged = false
 
ClipRect VisibleClip = {-100000.0f, -100000.0f, 100000.0f, 100000.0f}
 

Private 成员函数

std::unique_ptr< TreeViewItemNodeBuildItem (const std::filesystem::path &path, bool isRoot)
 

静态 Private 成员函数

static std::string ToUtf8 (const std::filesystem::path &path)
 

Private 属性

std::unordered_map< const TreeViewItemNode *, std::filesystem::path > ItemPaths
 

额外继承的成员函数

- Protected 成员函数 继承自 z8::ui::BehaviorNode
virtual void OnVisualStateChanged ()
 
void ReleaseBehaviors ()
 

详细描述

把文件目录投影为 TreeView 的编辑器文件浏览控件。

控件只保存展示所需的路径映射和 TreeView 展开/选择状态,不缓存文件内容; 调用方通过 PathSelected 接收稳定路径,并自行决定打开或导入资源。

构造及析构函数说明

◆ FileExplorerNode()

FileExplorerNode::FileExplorerNode ( )
函数调用图:

成员函数说明

◆ BuildItem()

std::unique_ptr< TreeViewItemNode > FileExplorerNode::BuildItem ( const std::filesystem::path & path,
bool isRoot )
private
函数调用图:
这是这个函数的调用关系图:

◆ GetPath()

const std::filesystem::path * FileExplorerNode::GetPath ( const TreeViewItemNode * item) const
这是这个函数的调用关系图:

◆ Refresh()

void FileExplorerNode::Refresh ( )

重新扫描 RootPath;目录优先、同类按名称排序,并且不跟随目录符号链接。

函数调用图:
这是这个函数的调用关系图:

◆ SetProperty()

bool FileExplorerNode::SetProperty ( const std::string & name,
const std::string & value )
overridevirtual

重载 z8::ui::BehaviorNode .

函数调用图:

◆ ToUtf8()

std::string FileExplorerNode::ToUtf8 ( const std::filesystem::path & path)
staticprivate
这是这个函数的调用关系图:

◆ TypeName()

const char * z8::ui::FileExplorerNode::TypeName ( ) const
inlineoverridevirtual

重载 z8::ui::BaseNode .

类成员变量说明

◆ ItemPaths

std::unordered_map<const TreeViewItemNode*, std::filesystem::path> z8::ui::FileExplorerNode::ItemPaths
private

◆ PathSelected

std::function<void(const std::filesystem::path&) z8::ui::FileExplorerNode::PathSelected)

◆ RootPath

std::filesystem::path z8::ui::FileExplorerNode::RootPath = "asset"

◆ ShowHidden

bool z8::ui::FileExplorerNode::ShowHidden = false

该类的文档由以下文件生成: