My approach. The core is the engine. - page 131

 
Реter Konow:

That's great. There's something there. But, you're a renowned craftsman.) What about the backwards elements?

What kind of elements? There are input fields, pluses and minuses etc. in some cells.

Anatoly has it all in his library, too.

I mean, there are no technical problems there at all...

 
One CArrayObj is one table row. Another CArrayObj placed in it is a column. And that is enough - they are dynamic.
 
Andrey Barinov:

What kind of items? There are input fields in some cells, plus and minus, etc.

Anatoly has it all in his library too.

I mean, there are no technical problems there at all...

Not bad at all. I can also put poplists, sliders, checkboxes, buttons, radio buttons, progress bars.

 
Реter Konow:

Not bad. I can also put pop-up lists, sliders, checkboxes, buttons, radio buttons, progress bars.

If you weren't such an opponent of OOP, you'd understand that it all fits in a cell UNLESS you put it all together at once :)

 


I, for example, use cObject-based dynamic lists for any View compositions -


 
Andrey Barinov:

If you weren't such an opponent of OOP, you'd realise it all fits in the cell ONE way.

So everything fits in the same way for me too. For example:

Here is the code of the above table:

//----------------------------------------------------------------------------------
//Объявляем таблицу:
//----------------------------------------------------------------------------------
GROUP,"Orders table", IS_TABLE,  

__,     T_HEADER, "#",W,20,_,H,30, C_HEADER, "Order",     C_HEADER, "Opening Time",W,90, C_HEADER, "Type", W,90,  C_HEADER, "Volume", W,90,  C_HEADER, "Symbol", W,90, 
                               C_HEADER, "Price",       W,90,    
                               C_HEADER, "Comission",   W,90, C_HEADER, "Swap", W,90,  C_HEADER, "PnL",    W,90,  C_HEADER, "Close",  W,40,

__,     R_HEADER,"1", CELL, A,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A,     
__,     R_HEADER,"2",CELL, A,   CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"3",CELL, A,   CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"4",CELL, A,   CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"5",CELL, A,   CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"6",CELL, A,   CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"7",CELL, A,   CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"8",CELL, A,   CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"9",CELL, A,   CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"10",CELL, A,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"11",CELL, A,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"12",CELL, A,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"13",CELL, A,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"14",CELL, A,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"15",CELL, A,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"16",CELL, A,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"17",CELL, A,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"18",CELL, A,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"19",CELL, A,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"20",CELL, A,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"21",CELL, A,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
 
END_GROUP,
//------------------------------------
i,AT, LEFT_TOP, 0,0,
i, IN, "V1",
//-----------
i, Y_GAP,-1,
i, X_GAP,-1,
//-----------
i, IS_ZEBRA_STYLE,
i, DnD_RECIEVER,
i, R_HEADERS,   W,20, N_COLOR,(int)C'0,235,0', END,
i, C_HEADERS,   H,30,                          END,
i, CELLS,       H,25,                          END,
i, C_HEADERS,   DnD_ON, DnD_FUNCTION, ROTATE_COLOMNS, END,
i, I_BUTTONS, C_FUNCTION, DELETES_ROW,   text,HIDE,1, N_FRAME,1,A_FRAME,1, NP_FRAME,1, AP_FRAME,1, N_LABEL,745, END,
i, IS_DINAMIC,
//----------------------------------------------------------------------------------
"Order", H,30,
//----------------------------------------------------------------------------------
 
Did I miss something or not? What about the panel for Alexander?
 

Here is the same table, but with the elements:

GROUP,"Orders table", IS_TABLE,  

__,     T_HEADER, "#",W,20,_,H,30, C_HEADER, "Order",     C_HEADER, "Opening Time",W,90, C_HEADER, "Type", W,90,  C_HEADER, "Volume", W,90,  C_HEADER, "Symbol", W,90, 
                               C_HEADER, "Price",       W,90,    
                               C_HEADER, "Comission",   W,90, C_HEADER, "Swap", W,90,  C_HEADER, "PnL",    W,90,  C_HEADER, "Close",  W,40,

__,     R_HEADER,"1", CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A,     
__,     R_HEADER,"2",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"3",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"4",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"5",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"6",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"7",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"8",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"9",CELL, A,   C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"10",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"11",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"12",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"13",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"14",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"15",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"16",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"17",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"18",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"19",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"20",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
__,     R_HEADER,"21",CELL, A,  C_LIST, A,  H_SLIDER, A,   CHECKBOX, A,  P_BAR, A,   CELL, A, CELL, A, CELL, A, CELL, A,  I_BUTTON, A, 
 
END_GROUP,
//------------------------------------
 
Artyom Trishkin:
One CArrayObj is one table row. Another CArrayObj placed in it is a column. And that's enough - they are dynamic.

everything is correct, and what's interesting is that you don't need to make up variable names or even know the future number of rows / columns, you write your own class - a descendant of CObject and implement all necessary fields in it, and then you can put everything into a dynamic array CArrayObj or like my example into Clist and that's it... No more problems - add / delete an element, the library is ready - use it, but ...... my approach! .... for vodka! )))

 
Igor Volodin:


I, for example, use cObject-based dynamic lists for any View compositions -


Yeah, it looks cool.

cObject is not a constructor yet. It's a long way from a constructor...