Commit Graph

213 Commits

Author SHA1 Message Date
Thilo Graf
69476903ee CComponentsForm/PIP: ensure hiding of minitv during hide of forms
Handling of minitv items are different to other item types
and need an explizit call of hide(). So it is possible to hide a form-
object without a extra call of hide() for minitv objects.
2013-03-18 12:04:37 +01:00
Thilo Graf
d87d0754e0 CComponentsWindow: add constructors with parameters for caption and icon 2013-03-18 12:04:35 +01:00
Thilo Graf
544e3bb8ef CComponentsHeader: init text always before paint header 2013-03-18 12:04:29 +01:00
Thilo Graf
4a931af6ef CComponentsForm/Header/Icons/Window: try to fix multiple inits and paints
Some items had multiple inits and some calls of clearCCItems()
have caused segfaults, hope this fix this.
2013-03-18 12:04:25 +01:00
Thilo Graf
da356d94da CComponentsHeader/Icon: use inherited destructor
Inherited destructor contains identic code.
2013-03-18 12:04:21 +01:00
Thilo Graf
de330ac39c CComponentsWindow: remove refresh()
initCCWItems() does the same, but is private
2013-03-18 12:04:16 +01:00
Thilo Graf
74b2dde248 CComponentsWindow: using current screen settings for default dimensions 2013-03-18 12:04:13 +01:00
Thilo Graf
061700a5f8 CComponentsPicture: fix build
Build can be broken with other build environments
2013-03-08 08:44:05 +01:00
Thilo Graf
3ed9af87ad CComponents: split cc_base.cpp
It's easier to work with smaller files.
Most files contain only one cc-class and their names are
derived on the particular class that is contained therein.
2013-03-06 11:28:18 +01:00
Thilo Graf
10f429ee0f CComponents: move components.cpp to cc_base.cpp, move types to own header 2013-03-06 11:28:18 +01:00
Thilo Graf
44346c6417 CComponents: fix some includes
Included header files don't fit after move of components.
2013-03-06 11:28:17 +01:00
Thilo Graf
399eb696d6 CComponents: add some new variables and parameters and modifie debug output
- add var for object index
  can be usefull for identifications of objects for focus operations soon

- add default value for screen  size (30%) to CComponentsPIP constructor
  most size we mostly use is 30% of size

- add setters for screen_w and screen_h
  also this can be usefull t adapt screen sizes e.g. during
  runtime operations
2013-03-06 11:28:17 +01:00
Thilo Graf
2940c4e5f6 CComponents: add more debug output and fix typo in enum CC_ITEMTYPES 2013-03-06 11:28:16 +01:00
Thilo Graf
6175fd989d CComponentsItem: add members getItemType(), cc_item_type
Small helper for detection of item types.
This could be useful, if it is necessary, to track these at runtime or
debugging, because it's not really detectable, which items just be used.
e.g forms could contain very much items, but many of these items
are inherited from CComponentsItem and an assignment to a certain subclass.
2013-03-06 11:28:16 +01:00
Thilo Graf
9605d7438f CComponentsHeader: add member 'setHeaderButtons()'
Gives possibility to set default button types,

possible parameter types are:
CC_BTN_HELP, CC_BTN_INFO, CC_BTN_MENU, CC_BTN_EXIT
2013-03-06 11:28:16 +01:00
Thilo Graf
fa9ffdd46e CComponentsWindow: add sub class CComponentsWindow 2013-03-06 11:28:16 +01:00
Thilo Graf
6cdb948dd4 CComponents: change of debug marking for better recognition during logging 2013-03-06 11:28:15 +01:00
Thilo Graf
b9dd3e21bf CComponentsForm: add virtual members to replace cc-item 2013-03-06 11:28:15 +01:00
Thilo Graf
a9caa07318 CComponentsHeader: reset icon width, if no icon is defined 2013-03-06 11:28:15 +01:00
Thilo Graf
764dbcd429 CComponentsPicture: add missing define of dimensions after init 2013-03-06 11:28:15 +01:00
Thilo Graf
9150088088 CComponentsHeader: fix broken addHeaderButton() and removeHeaderButtons()
Simple push_back() has no effect, buttons must be initialized and destroy
of cch_btn_obj is an easy way for clean up.
2013-03-06 11:28:14 +01:00
Thilo Graf
79dd6456b0 CComponentsHeader: add enums for header items 2013-03-06 11:28:14 +01:00
Thilo Graf
c039b4ae5c CComponentsHeader: move init of items ito cobstructors
Inherited methodes like insertCCItem, removeCCItem ... don't work
nice, if cc-items are ititialized too late. If we init in constructors,
we can manipulate header items, otherwise not.
clearCCItems() is to find in the destructor, and should be called with
delete.
Handle with care!
2013-03-06 11:28:14 +01:00
Thilo Graf
2e729ffdb9 CComponentsForm: prevent crashs, if no item is available in v_cc_items
insertCCItem() and removeCCItem() occured crashes, if no items was added.
Also added debug messages.
2013-03-06 11:28:14 +01:00
Thilo Graf
41165d7cb2 CComponentsHeader: add member initCCButtonFormSize()
This moves caclulation from initCCHeaderButtons() to its own
member.
2013-03-06 11:28:14 +01:00
Thilo Graf
62f44d7a8c CComponentsHeader: move int of default buttons into its own member 2013-03-06 11:28:13 +01:00
Thilo Graf
4fb3cde45f CComponentsHeader: fix button display
Calculation of button offset was broken.
2013-03-06 11:28:13 +01:00
Thilo Graf
fb3646c9be CComponentsForm: do not paint out of form
If is x or y position of embedded item out of allowed form dimension, then
set a new x or y value to item.
Added debug message should help to find issues.
2013-03-06 11:28:13 +01:00
Thilo Graf
3644abec66 CComponentsHeader: add parameter buttons onto constructors
This adds default buttons to header
2013-03-06 11:28:13 +01:00
Thilo Graf
562b091e66 CComponentsHeader: move init members into its own member 2013-03-06 11:28:12 +01:00
Thilo Graf
949867e4ac CComponentsForm: add virtual members to manipulate ccitems 2013-03-06 11:28:12 +01:00
Thilo Graf
b330d78ff2 CComponentsHeader: add header buttons to header form
Use addHeaderButton() to add any button icon ont header form.
The buttons have a right alignment, this means, the first button
is on the right boarder of header.
For existing instances it's recommended to remove old button icons
before add new buttons, otherwise icons will be append.

See also sample code in CTestMenu.
2013-03-06 11:28:12 +01:00
Thilo Graf
84fe7cf134 CComponents: add sub class CComponentsIconForm based upon CComponentsForm
Collects only icons.You can add icons step by step or
with a vector and paint the form at once.
Width and height are dynamic calculated if parameters
width or height are smaller then summary of lenght of all added icons.

It's also possible to manipulate the icon array with members:
- insertIcon()
- removeIcon()
- removeAllIcons()

TODO: support for resizable images
2013-03-06 11:28:12 +01:00
Thilo Graf
6ee87b95ec CComponentsHeader: add private member variable cch_text_x 2013-03-06 11:28:11 +01:00
Thilo Graf
0dbddbc483 CComponentsForm: remove constructor
Call of overloaded 'CComponentsForm(int, int, int, int)' is ambiguous.
2013-03-06 11:28:11 +01:00
Thilo Graf
dd91340a37 CComponentsForm: paintCCItems() is needed as public member 2013-03-06 11:28:11 +01:00
Thilo Graf
a5adaf854a CComponentsPicture: rework parameter handling
Not shure if pic_max_h/w could still make problems in while usage
of CComponentsPicture, we will see...
2013-03-06 11:28:11 +01:00
Thilo Graf
8061b2938f CComponentsHeader: init code for icon and text outsource
slim down of paint()
2013-03-06 11:28:11 +01:00
Thilo Graf
6bdd8cd771 CComponentsHeader: use height of header as default height for icon space 2013-03-06 11:28:11 +01:00
Thilo Graf
75fbc08269 CComponents: add option paint_bg and apply in CComponentsHeader 2013-03-06 11:28:10 +01:00
Thilo Graf
4450984597 CComponents: init ccitem vars in initVarBasic() 2013-03-06 11:28:10 +01:00
Thilo Graf
d538e807d8 CCompnents: rename hideContainer into hideCCItem() 2013-03-06 11:28:10 +01:00
Thilo Graf
1934ceef69 CComponentsHeader: optimize allocations an deallocations for cc-items
Bequeath of destructor from CComponentsForm into CCcomponentsHeader.
clearCCItems() does already manage deallocations for cc-items,
so some 'delete" calls are unnecessary.
There was also the danger to overfill the cc-item vector with new added
objects, if it is not have been cleaned previously in existing instances.
2013-03-06 11:28:10 +01:00
Thilo Graf
d14b9903f9 CComponents: add new sub class CComponentsHeader()
This should replace CComponentsTitleBar comming soon.

TODO:
- add additional icons,
- fix frame painting with other corner types , but this is an issue in
  CFramebuffer.  paintBoxFrame provides parameters for corner radius,
  but no corner types.
2013-03-06 11:28:09 +01:00
Thilo Graf
9601760137 CComponentsForm: members become virtual
Members of CComponentsForm will be used in sub classes.
2013-03-06 11:28:09 +01:00
Thilo Graf
d84c968157 CComponents: add define DEBUG_CC and some debug statements 2013-03-06 11:28:09 +01:00
Thilo Graf
a4cf4800f2 CComponents: add automaticaly cut of items with too large dimensions 2013-03-06 11:28:09 +01:00
Thilo Graf
de0dd61812 CComponentsForm: using better variable names in paintCCItems() 2013-03-06 11:28:08 +01:00
Thilo Graf
cda02273ea CComponents: add new methodes to create forms
Create forms with default constructor and now you can add
cc-items into form with new member addCCItem().

The x/y values are valid to inside of form dimensions itself not inside of screen.
Addable cc-items are all CComponentItem objects and their inheritances
including CComponentsForm itself. So are even nestings possible.

Some changes on other cc-item classes were necessary.
For example, CComponentsPicture or CComponentsText and it's still
much to do.
2013-03-06 11:28:08 +01:00
Thilo Graf
ce00b0b4a0 CComponentsInfoBox: paint text with innstance of CComponentsText
This should be a stable state for painting info boxes in gui parts.
This fix also an automaticaly correction of font size changes while
runtime.
2013-03-06 11:28:08 +01:00