Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files. make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type. This commit contains no other changes aside from adding and applying clang-format-all.sh
75 lines
2.0 KiB
C++
75 lines
2.0 KiB
C++
/*
|
|
GWEN
|
|
Copyright (c) 2010 Facepunch Studios
|
|
See license in Gwen.h
|
|
*/
|
|
|
|
#pragma once
|
|
#ifndef GWEN_CONTROLS_DOCKBASE_H
|
|
#define GWEN_CONTROLS_DOCKBASE_H
|
|
|
|
#include "Gwen/Controls/Base.h"
|
|
#include "Gwen/Controls/Button.h"
|
|
|
|
namespace Gwen
|
|
{
|
|
namespace Controls
|
|
{
|
|
class DockedTabControl;
|
|
class TabControl;
|
|
|
|
class GWEN_EXPORT DockBase : public Base
|
|
{
|
|
public:
|
|
GWEN_CONTROL(DockBase, Base);
|
|
|
|
virtual void Render(Skin::Base* skin);
|
|
virtual void RenderOver(Skin::Base* skin);
|
|
virtual bool IsEmpty();
|
|
|
|
virtual TabControl* GetTabControl();
|
|
|
|
virtual DockBase* GetRight() { return GetChildDock(Pos::Right); }
|
|
virtual DockBase* GetLeft() { return GetChildDock(Pos::Left); }
|
|
virtual DockBase* GetTop() { return GetChildDock(Pos::Top); }
|
|
virtual DockBase* GetBottom() { return GetChildDock(Pos::Bottom); }
|
|
|
|
// No action on space (default button action is to press)
|
|
virtual bool OnKeySpace(bool /*bDown*/) { return false; }
|
|
|
|
private:
|
|
// Drag n Drop
|
|
virtual bool DragAndDrop_HandleDrop(Gwen::DragAndDrop::Package* pPackage, int x, int y);
|
|
virtual bool DragAndDrop_CanAcceptPackage(Gwen::DragAndDrop::Package* pPackage);
|
|
virtual void DragAndDrop_HoverEnter(Gwen::DragAndDrop::Package* pPackage, int x, int y);
|
|
virtual void DragAndDrop_HoverLeave(Gwen::DragAndDrop::Package* pPackage);
|
|
virtual void DragAndDrop_Hover(Gwen::DragAndDrop::Package* pPackage, int x, int y);
|
|
|
|
virtual void SetupChildDock(int iPos);
|
|
|
|
virtual void DoRedundancyCheck();
|
|
virtual void DoConsolidateCheck();
|
|
virtual void OnRedundantChildDock(DockBase* pDockBase);
|
|
|
|
virtual int GetDroppedTabDirection(int x, int y);
|
|
virtual void OnTabRemoved(Gwen::Controls::Base* pControl);
|
|
|
|
DockBase* GetChildDock(int iPos);
|
|
DockBase** GetChildDockPtr(int iPos);
|
|
|
|
DockBase* m_Left;
|
|
DockBase* m_Right;
|
|
DockBase* m_Top;
|
|
DockBase* m_Bottom;
|
|
|
|
// Only CHILD dockpanels have a tabcontrol.
|
|
DockedTabControl* m_DockedTabControl;
|
|
|
|
bool m_bDrawHover;
|
|
bool m_bDropFar;
|
|
Gwen::Rect m_HoverRect;
|
|
};
|
|
} // namespace Controls
|
|
} // namespace Gwen
|
|
#endif
|