Unravel Engine C++ Reference
Loading...
Searching...
No Matches
unravel::panel_base Class Referenceabstract

#include <panel_base.h>

Inheritance diagram for unravel::panel_base:
unravel::console_log_panel unravel::content_browser_panel unravel::entity_panel unravel::game_panel unravel::layout_panel unravel::hierarchy_panel unravel::inspector_panel unravel::scene_panel

Public Member Functions

 panel_base (const char *name)
 
virtual ~panel_base ()=default
 
auto is_visible () const -> bool
 
void set_visible (bool visible)
 
auto is_focused () const -> bool
 
auto is_fullscreen () const -> bool
 
void set_fullscreen (bool fullscreen)
 
void toggle_fullscreen ()
 
void focus ()
 
void on_frame_ui_render (rtti::context &ctx)
 
auto get_name () const -> const std::string &
 

Protected Member Functions

virtual auto get_window_name () const -> const char *
 
void render_panel (rtti::context &ctx, const char *name, ImGuiWindowFlags flags=ImGuiWindowFlags_MenuBar)
 
virtual void draw_ui (rtti::context &ctx)=0
 
virtual auto get_window_flags () const -> ImGuiWindowFlags
 
virtual void on_before_render (rtti::context &ctx)
 
virtual void on_after_render (rtti::context &ctx)
 
virtual bool begin_panel (const char *name, ImGuiWindowFlags flags)
 
virtual void end_panel (const char *name)
 

Protected Attributes

std::string name_
 
std::string name_fullscreen_
 
bool is_visible_ {}
 
bool is_focused_ {}
 
bool is_fullscreen_ {}
 
bool request_focus_ {}
 

Detailed Description

Definition at line 11 of file panel_base.h.

Constructor & Destructor Documentation

◆ panel_base()

unravel::panel_base::panel_base ( const char * name)
explicit

Definition at line 9 of file panel_base.cpp.

◆ ~panel_base()

virtual unravel::panel_base::~panel_base ( )
virtualdefault

Member Function Documentation

◆ begin_panel()

bool unravel::panel_base::begin_panel ( const char * name,
ImGuiWindowFlags flags )
protectedvirtual

Definition at line 54 of file panel_base.cpp.

◆ draw_ui()

virtual void unravel::panel_base::draw_ui ( rtti::context & ctx)
protectedpure virtual

◆ end_panel()

void unravel::panel_base::end_panel ( const char * name)
protectedvirtual

Definition at line 77 of file panel_base.cpp.

◆ focus()

void unravel::panel_base::focus ( )

Definition at line 14 of file panel_base.cpp.

◆ get_name()

auto unravel::panel_base::get_name ( ) const -> const std::string&
inline

Definition at line 29 of file panel_base.h.

◆ get_window_flags()

virtual auto unravel::panel_base::get_window_flags ( ) const -> ImGuiWindowFlags
inlineprotectedvirtual

◆ get_window_name()

auto unravel::panel_base::get_window_name ( ) const -> const char*
protectedvirtual

Reimplemented in unravel::scene_panel.

Definition at line 19 of file panel_base.cpp.

◆ is_focused()

auto unravel::panel_base::is_focused ( ) const -> bool
inline

Definition at line 20 of file panel_base.h.

◆ is_fullscreen()

auto unravel::panel_base::is_fullscreen ( ) const -> bool
inline

Definition at line 22 of file panel_base.h.

◆ is_visible()

auto unravel::panel_base::is_visible ( ) const -> bool
inline

Definition at line 17 of file panel_base.h.

◆ on_after_render()

void unravel::panel_base::on_after_render ( rtti::context & ctx)
protectedvirtual

Reimplemented in unravel::game_panel, and unravel::hierarchy_panel.

Definition at line 40 of file panel_base.cpp.

◆ on_before_render()

void unravel::panel_base::on_before_render ( rtti::context & ctx)
protectedvirtual

Definition at line 35 of file panel_base.cpp.

◆ on_frame_ui_render()

void unravel::panel_base::on_frame_ui_render ( rtti::context & ctx)

Definition at line 28 of file panel_base.cpp.

◆ render_panel()

void unravel::panel_base::render_panel ( rtti::context & ctx,
const char * name,
ImGuiWindowFlags flags = ImGuiWindowFlags_MenuBar )
protected

Definition at line 45 of file panel_base.cpp.

◆ set_fullscreen()

void unravel::panel_base::set_fullscreen ( bool fullscreen)
inline

Definition at line 23 of file panel_base.h.

◆ set_visible()

void unravel::panel_base::set_visible ( bool visible)
inline

Definition at line 18 of file panel_base.h.

◆ toggle_fullscreen()

void unravel::panel_base::toggle_fullscreen ( )
inline

Definition at line 24 of file panel_base.h.

Member Data Documentation

◆ is_focused_

bool unravel::panel_base::is_focused_ {}
protected

Definition at line 46 of file panel_base.h.

◆ is_fullscreen_

bool unravel::panel_base::is_fullscreen_ {}
protected

Definition at line 47 of file panel_base.h.

◆ is_visible_

bool unravel::panel_base::is_visible_ {}
protected

Definition at line 45 of file panel_base.h.

◆ name_

std::string unravel::panel_base::name_
protected

Definition at line 43 of file panel_base.h.

◆ name_fullscreen_

std::string unravel::panel_base::name_fullscreen_
protected

Definition at line 44 of file panel_base.h.

◆ request_focus_

bool unravel::panel_base::request_focus_ {}
protected

Definition at line 48 of file panel_base.h.


The documentation for this class was generated from the following files: