I think this is way out there in the cosmos somewhere, but I'll ask anyway.

I am wading through the FProperty code of the IDE trying to understand how the 
values for properties are set (bad term) in the grid.  When I get down to 
CControl.GetProperty(sProp As String) I see the following (with annotations):

  Try hProp = Project.Documentation.Classes[Kind].Properties[sProp]

  If hProp Then 
    If hProp.AlwaysRead Then     <--- Question1
  
      vVal = Object.GetProperty(Control, sProp) <---- Question 2
  
...
  
    Endif
  Endif

  Return $cValue[sProp] <---- Question 3

1) I see that these are set in the CPropertyInfo class but why are some 
properties AlwaysRead?
2) This is messy. If a control is a custom control then it appears that this 
line tries to get the property value from the object whose class name  is the 
_DrawWith constant defined in the custom control not the actual control class?
3) I dont understand how the $cValue array is initialised nor indeed what its' 
intent is. Could you enlighten me?

Why all this?

I am trying to modify the IDE so that the property editor can use special popup 
editor forms for some extra-special property types for custom controls. In 
short, the goal is to have the property editor form inside the custom control 
component rather than in the IDE.  A "visible" example is the AngleBox class 
control "txtAngle" in the current IDE.  I believe this is only used(?) for the 
report controls.  Because we have a bunch of custom controls that have some 
extra-special properties, I have to continually maintain the IDE code updates 
because of svn differences and conflicts.

So, I have so far managed to make a minimal set of mods that allows the (local) 
IDE to  recognize custom properties (i.e. the extra-special ones) and use a 
pop-up editor that is contained within the custom control component.  The pic 
attached is an example to explain it better ..
(1) is a custom control, in that control I have a property 
(2) "Options" that has a custom editor. When I click on the "..." button the 
popup editor shown appears.
and when the Save button is clicked the property "value" is saved where I want 
it. All well and groovy.

In summary, I think this would be a good IDE enhancement. i.e. moving the 
editor for custom control extra-special properties from inside the IDE to 
within the custom control component itself.
So...

tia
bruce
-- 
B Bruen <adamn...@gnail.com (sort of)>

------------------------------------------------------------------------------
_______________________________________________
Gambas-user mailing list
Gambas-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-user

Reply via email to