From 67a71d5e4e795fd7243c22b9eb98cb7da79d0cfd Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Fri, 4 Aug 2017 19:08:50 +0200 Subject: [PATCH] CComponentsForm: add functions to get used or free space of form dimensions --- src/gui/components/cc_frm.cpp | 18 ++++++++++++++++++ src/gui/components/cc_frm.h | 25 +++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/src/gui/components/cc_frm.cpp b/src/gui/components/cc_frm.cpp index 2725183d7..defe1433c 100644 --- a/src/gui/components/cc_frm.cpp +++ b/src/gui/components/cc_frm.cpp @@ -695,3 +695,21 @@ bool CComponentsForm::enableColBodyGradient(const int& enable_mode, const fb_pix } return false; } + +int CComponentsForm::getUsedDY() +{ + int y_res = 0; + for (size_t i= 0; i< v_cc_items.size(); i++) + y_res = max(v_cc_items[i]->getYPos() + v_cc_items[i]->getHeight(), y_res); + + return y_res; +} + +int CComponentsForm::getUsedDX() +{ + int x_res = 0; + for (size_t i= 0; i< v_cc_items.size(); i++) + x_res = max(v_cc_items[i]->getXPos() + v_cc_items[i]->getWidth(), x_res); + + return x_res; +} diff --git a/src/gui/components/cc_frm.h b/src/gui/components/cc_frm.h index cb512856c..ca8daa31f 100644 --- a/src/gui/components/cc_frm.h +++ b/src/gui/components/cc_frm.h @@ -183,6 +183,31 @@ class CComponentsForm : public CComponentsItem virtual void setScrollBarWidth(const int& scrollbar_width){w_sb = scrollbar_width;}; ///returns id of selected item, return value as int, returns -1: if is nothing selected virtual int getSelectedItem(); + + /**Function to get consumed space of items inside form in y direction. + * @return + * int, used lines + */ + int getUsedDY(); + + /**Function to get consumed space of items inside form in x direction. + * @return + * int, used lines + */ + int getUsedDX(); + + /**Function to get free usable space of items inside form in y direction. + * @return + * int, free lines + */ + int getFreeDY(){return height - getUsedDY();} + + /**Function to get free usable space of items inside form in x direction. + * @return + * int, free lines + */ + int getFreeDX(){return width - getUsedDX();} + ///returns pointer to selected item, return value as CComponentsItem*, returns NULL: if is nothing selected virtual CComponentsItem* getSelectedItemObject(); ///select a definied item, parameter1 as size_t