2#include "DefinitionsGUI.h" 
   10        typedef std::function<void(int32_t, int32_t)> CFLSheetProcedure;
 
   11        #define MakeFLSheetProcedure [=](int32_t i32RowIndex, int32_t i32ColumnIndex) -> void 
   13        typedef std::function<void()> CFLSheetButtonClickProcedure;
 
   14        #define MakeFLSheetButtonClickProcedure [=]() -> void 
   16        class FL_EXPORT CGUISheetInterface
 
   21                ETextAlignMask_Left = 0x00000000,
 
   22                ETextAlignMask_Top = 0x00000000,
 
   23                ETextAlignMask_HCenter = 0x00000001,
 
   24                ETextAlignMask_Right = 0x00000002,
 
   25                ETextAlignMask_VCenter = 0x00000004,
 
   26                ETextAlignMask_Bottom = 0x00000008,
 
   31                ETextAlign_Left_Top = ETextAlignMask_Left | ETextAlignMask_Top,
 
   32                ETextAlign_Left_Center = ETextAlignMask_Left | ETextAlignMask_VCenter,
 
   33                ETextAlign_Left_Bottom = ETextAlignMask_Left | ETextAlignMask_Bottom,
 
   35                ETextAlign_Center_Top = ETextAlignMask_HCenter | ETextAlignMask_Top,
 
   36                ETextAlign_Center_Center = ETextAlignMask_HCenter | ETextAlignMask_VCenter,
 
   37                ETextAlign_Center_Bottom = ETextAlignMask_HCenter | ETextAlignMask_Bottom,
 
   39                ETextAlign_Right_Top = ETextAlignMask_Right | ETextAlignMask_Top,
 
   40                ETextAlign_Right_Center = ETextAlignMask_Right | ETextAlignMask_VCenter,
 
   41                ETextAlign_Right_Bottom = ETextAlignMask_Right | ETextAlignMask_Bottom,
 
   46            virtual ~CGUISheetInterface();
 
   48            virtual const CResult CreateSheet(CRect rect, CWnd* pParent);
 
   49            virtual const CResult 
Clear();
 
   51            virtual void MoveSheet(CRect rect);
 
   52            virtual void Show(
bool bShow);
 
   53            virtual bool IsVisible() 
const;
 
   55            virtual void EnableSortByHeaderClick(
bool bEnable);
 
   56            virtual bool IsSortByHeaderClickEnabled() 
const;
 
   58            virtual const CResult SetHeader(
const Base::CFLArray<Base::CFLString<wchar_t>>& flaHeader);
 
   59            virtual Base::CFLArray<Base::CFLString<wchar_t>> GetHeader() 
const;
 
   61            virtual const CResult ClearData();
 
   62            virtual const CResult SetData(
const Base::CFLArray<Base::CFLArray<Base::CFLString<wchar_t>>>& flaData);
 
   64            virtual const CResult AppendData(
const Base::CFLArray<Base::CFLArray<Base::CFLString<wchar_t>>>& flaData);
 
   65            virtual const CResult AppendData(
const Base::CFLArray<Base::CFLString<wchar_t>>& flaData);
 
   66            virtual const CResult SetDataAt(int32_t i32Row, 
const Base::CFLArray<Base::CFLString<wchar_t>>& flaData);
 
   68            virtual Base::CFLString<wchar_t> GetData(int64_t i64Row, int64_t i64Col) 
const;
 
   70            virtual const CResult ClearSelectedCell();
 
   71            virtual const CResult SelectCell(int64_t i64Row, int64_t i64Col);
 
   72            virtual const CResult SelectRows(Base::CFLArray<int64_t> flaRows);
 
   73            virtual Base::CFLArray<int64_t> GetSelectedRows();
 
   75            virtual void SetSingleRowSelection(
bool bSet);
 
   76            virtual bool GetSingleRowSelection() 
const;
 
   78            virtual void SetEditable(
bool bEditable = 
true);
 
   79            virtual bool IsEditable() 
const;
 
   81            virtual void SetEditableOnlyFocusedCell(
bool bSet = 
false);
 
   82            virtual bool IsEditableOnlyFocusedCell() 
const;
 
   84            virtual CFLSheet* GetSheetPtr() 
const;
 
   85            virtual const Base::CFLBase* GetSheetBasePtr() 
const;
 
   86            virtual Base::CFLArray<Base::CFLString<wchar_t>>* GetHeaderPtr();
 
   87            virtual Base::CFLArray<Base::CFLArray<Base::CFLString<wchar_t>>>* GetDataPtr();
 
   91            virtual void UpdateSheetData();
 
   93            virtual int32_t GetRowHeight(int32_t i32Row) 
const;
 
   94            virtual bool SetRowHeight(int32_t i32Row, int32_t i32Height);
 
   95            virtual int32_t GetColumnWidth(int32_t i32Col) 
const;
 
   96            virtual bool SetColumnWidth(int32_t i32Col, int32_t i32Width);
 
   98            virtual void AddNumericSortColumn(int64_t i64Column);
 
   99            virtual void RemoveNumericSortColumn(int64_t i64Column);
 
  100            virtual void ClearNumericSortColumn();
 
  102            virtual void SetListMode(
bool bListMode = 
false);
 
  103            virtual bool IsListMode() 
const;
 
  105            virtual bool SetFixedRowCount(int32_t i32FixedRow = 1);
 
  106            virtual int32_t GetFixedRowCount() 
const;
 
  107            virtual bool SetFixedColumnCount(int32_t i32FixedColumn = 1);
 
  108            virtual int32_t GetFixedColumnCount() 
const;
 
  110            virtual ETextAlign GetCellTextAlign(int32_t i32Row, int32_t i32Col) 
const;
 
  111            virtual const CResult SetCellTextAlign(int32_t i32Row, int32_t i32Col, ETextAlign eAlign);
 
  112            virtual const CResult SetRowTextAlign(int32_t i32Row, ETextAlign eAlign);
 
  113            virtual const CResult SetColumnTextAlign(int32_t i32Col, ETextAlign eAlign);
 
  114            virtual const CResult SetTextAlign(ETextAlign eAlign);
 
  117            virtual const CResult SetCellStatus(int32_t i32Row, int32_t i32Col, EFLSheetCellStatus eStatus);
 
  118            virtual const CResult SetRowCellStatus(int32_t i32Row, EFLSheetCellStatus eStatus);
 
  119            virtual const CResult SetColumnCellStatus(int32_t i32Col, EFLSheetCellStatus eStatus);
 
  121            virtual const CResult SetCellEditable(int32_t i32Row, int32_t i32Col, 
bool bEditable);
 
  122            virtual bool IsCellEditable(int32_t i32Row, int32_t i32Col) 
const;
 
  125            virtual const CResult SetCellType(int32_t i32Row, int32_t i32Col, EFLSheetCellType eType);
 
  126            virtual const CResult SetRowCellType(int32_t i32Row, EFLSheetCellType eType);
 
  127            virtual const CResult SetColumnCellType(int32_t i32Col, EFLSheetCellType eType);
 
  129            virtual const CResult CopyRange(int32_t i32StartRow, int32_t i32StartCol, int32_t i32EndRow, int32_t i32EndCol);
 
  130            virtual const CResult CopyRow(int32_t i32StartRow, int32_t i32EndRow);
 
  131            virtual const CResult CopyColumn(int32_t i32StartCol, int32_t i32EndCol);
 
  132            virtual const CResult 
CopyAll();
 
  134            virtual const CResult SetCellControlTypeEdit(int32_t i32Row, int32_t i32Col);
 
  135            virtual const CResult SetCellControlTypeCheckBox(int32_t i32Row, int32_t i32Col, 
bool bDisplayValue = 
true, Base::CFLString<wchar_t> flsTrueValue = L
"", Base::CFLString<wchar_t> flsFalseValue = L
"");
 
  137            virtual const CResult SetCellText(int32_t i32Row, int32_t i32Col, 
const Base::CFLString<wchar_t>& flsText);
 
  138            virtual Base::CFLString<wchar_t> GetCellText(int32_t i32Row, int32_t i32Col);
 
  139            virtual const CResult SetCellCheck(int32_t i32Row, int32_t i32Col, 
bool bCheck);
 
  140            virtual bool GetCellCheck(int32_t i32Row, int32_t i32Col);
 
  142            virtual const CResult AddComboBoxString(int32_t i32Row, int32_t i32Col, 
const Base::CFLString<wchar_t>& str);
 
  144            virtual const CResult ClearSpan();
 
  145            virtual const CResult AddSpan(int32_t i32StartRow, int32_t i32StartCol, int32_t i32EndRow, int32_t i32EndCol);
 
  146            virtual const CResult DeleteSpan(int32_t i32Row, int32_t i32Col);
 
  148            virtual int32_t GetRowCount() 
const;
 
  149            virtual int32_t GetColumnCount() 
const;
 
  150            virtual void SetBreakRButtonUp(
bool bSet);
 
  151            virtual void Refresh();
 
  152            virtual BOOL DeleteRow(int32_t i32Row);
 
  154            virtual const CResult AddCellChangedProcedure(CFLSheetProcedure procCellChanged);
 
  156            virtual const CResult SetButtonCellClickProcedure(int32_t i32Row, int32_t i32Col, 
const CFLSheetButtonClickProcedure& procButtonClick);
 
  157            virtual const CResult SetButtonCellClickProcedure(int32_t i32Row, int32_t i32Col, 
const CFLSheetButtonClickProcedure* pProcButtonClick, 
bool bAutoDestroy = 
true);
 
  158            virtual const CFLSheetButtonClickProcedure* GetButtonCellClickProcedure(int32_t i32Row, int32_t i32Col) 
const;
 
  161            virtual const CResult InternalClearSheet();
 
  162            virtual const CResult InternalSetData(
const Base::CFLArray<Base::CFLArray<Base::CFLString<wchar_t>>>& flaData);
 
  163            virtual const CResult InternalInsertData(
const Base::CFLArray<Base::CFLArray<Base::CFLString<wchar_t>>>& flaData, int32_t i32Row);
 
  164            virtual const CResult InternalAppendData(
const Base::CFLArray<Base::CFLArray<Base::CFLString<wchar_t>>>& flaData);
 
  165            virtual const CResult InternalAppendData(
const Base::CFLArray<Base::CFLString<wchar_t>>& flaData);
 
  167            virtual const CResult InternalSetDataAt(int32_t i32Row, 
const Base::CFLArray<Base::CFLString<wchar_t>>& flaData);
 
  169            virtual const CResult InternalAssignData(
const Base::CFLArray<Base::CFLArray<Base::CFLString<wchar_t>>>& flaData);
 
  171            virtual const CResult InternalAlignData();
 
  173            virtual const CResult InternalSetData(int32_t i32Row, int32_t i32Col, 
const Base::CFLString<wchar_t>& flsData);
 
  176            CFLSheet* m_pFlSheet;
 
  177            Base::CFLArray<Base::CFLString<wchar_t>> m_flaHeader;
 
  178            Base::CFLArray<Base::CFLArray<Base::CFLString<wchar_t>>> m_flaData;
 
  179            std::map<int32_t, int32_t>& m_mapColWidth;
 
  180            std::map<int32_t, int32_t>& m_mapRowHeight;
 
  182            bool m_bSortByHeaderClick;
 
  183            mutable bool m_bEditable;
 
  184            mutable bool m_bEditableOnlyFocusedCell;
 
  185            mutable bool m_bListMode;
 
  187            friend class CGUILayoutBase;
 
  188            friend class CFLSheet;
 
Definition D2DObject.h:12
EFLSheetCellStatus
Definition DefinitionsGUI.h:11190
EFLSheetCellType
Definition DefinitionsGUI.h:11288
@ Show
도형 보이기 메뉴
Definition DefinitionsGUIView3D.h:2830
@ Clear
도형 정리 메뉴
Definition DefinitionsGUI.h:2101
@ CopyAll
이미지에 저장된 Figure를 모두 복사하는 메뉴
Definition DefinitionsGUI.h:1475