[Lazarus] What GetChildParent does in designer and reader?

Fabio Luis Girardi fluisgirardi at gmail.com
Wed Mar 5 13:55:21 CET 2014


But I'll keep trying to implement this.
Em 04/03/2014 21:34, "Fabio Luis Girardi" <fluisgirardi at gmail.com> escreveu:

> I'll try this approach. At the moment this is a good workaround... :)
> Em 04/03/2014 21:22, "luiz americo pereira camara" <luizmed at oi.com.br>
> escreveu:
>
>> Hi Fabio,
>>
>> I'd like to share how i  implemented similar behavior of TDbCtrlGrid, so
>> maybe you can be interested. If not just ignore.
>>
>> First i create a TFrame in Lazarus put the controls that i need to be
>> there.
>>
>> In the control i want to display the instances of the frame i create at
>> runtime according to a configuration
>>
>> This way i have the easy of use of Lazarus designer with a lot of
>> flexibility.
>>
>> I created an control (
>> https://code.google.com/p/luipack/source/browse/trunk/luicontrols/jsonmediators.pas) that does the above. The frame class (TJSONBooleanRadioButtonViewFrame)
>> is hardcoded but it can be decoupled by using an interface.
>>
>> To implement TDbCtrlGrid like control with this approach seems easier
>> then you are trying:
>>
>> - Define an interface with what you need to configure the DbCtrls like
>>   IDbCtrlItem = interface
>>   SetDatasource(Datasource: TDataSource);
>>   end;
>> - Create a control that has a TFrameClass property
>> - When the TFrameClass is set, check if implements IDbCtrlItem
>> - At runtime create as many TFrameClass instances as needed configuring
>> them at initialization through the IDbCtrlItem interface
>> - Bind to dataset events and update the controls accordingly
>>
>> Luiz
>>
>>
>> 2014-03-04 10:41 GMT-03:00 Fabio Luis Girardi <fluisgirardi at gmail.com>:
>>
>>> Hi Mattias!!
>>>
>>> This solution don't work too.
>>>
>>>
>>> 2014-03-04 9:46 GMT-03:00 Fabio Luis Girardi <fluisgirardi at gmail.com>:
>>>
>>> Maybe RemoveHandlerAddClicked is a replacement?
>>>>
>>>>
>>>> 2014-03-04 9:43 GMT-03:00 Fabio Luis Girardi <fluisgirardi at gmail.com>:
>>>>
>>>> mytesthelper.pas(40,20) Error: identifier idents no member
>>>>> "RemoveHandlerComponentAdded"
>>>>>
>>>>> Lazarus 1.3
>>>>>
>>>>>
>>>>>
>>>>> 2014-03-03 18:56 GMT-03:00 Mattias Gaertner <nc-gaertnma at netcologne.de
>>>>> >:
>>>>>
>>>>> On Mon, 3 Mar 2014 16:47:30 -0300
>>>>>> Fabio Luis Girardi <fluisgirardi at gmail.com> wrote:
>>>>>>
>>>>>> > Hi!!
>>>>>> >
>>>>>> > Attached the code of my prototype of TDBCtrlGrid. It works as
>>>>>> expected on
>>>>>> > Delphi (except the function GetDesignerDropTarget that don't exists
>>>>>> on
>>>>>> > Delphi TWinControl), but it don't works as expected on Lazarus.
>>>>>>
>>>>>> On second thought the LCL method is not very flexible.
>>>>>> I added a general designer event.
>>>>>>
>>>>>> See
>>>>>>
>>>>>> http://wiki.lazarus.freepascal.org/Extending_the_IDE#Example:_When_dropping_a_new_component_move_control_to_a_child
>>>>>>
>>>>>> Please test.
>>>>>>
>>>>>> Mattias
>>>>>>
>>>>>> --
>>>>>> _______________________________________________
>>>>>> Lazarus mailing list
>>>>>> Lazarus at lists.lazarus.freepascal.org
>>>>>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> The best regards,
>>>>>
>>>>> Fabio Luis Girardi
>>>>> PascalSCADA Project
>>>>> http://sourceforge.net/projects/pascalscada
>>>>> http://www.pascalscada.com
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> The best regards,
>>>>
>>>> Fabio Luis Girardi
>>>> PascalSCADA Project
>>>> http://sourceforge.net/projects/pascalscada
>>>> http://www.pascalscada.com
>>>>
>>>
>>>
>>>
>>> --
>>> The best regards,
>>>
>>> Fabio Luis Girardi
>>> PascalSCADA Project
>>> http://sourceforge.net/projects/pascalscada
>>> http://www.pascalscada.com
>>>
>>> --
>>> _______________________________________________
>>> Lazarus mailing list
>>> Lazarus at lists.lazarus.freepascal.org
>>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>>>
>>>
>>
>> --
>> _______________________________________________
>> Lazarus mailing list
>> Lazarus at lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20140305/1c363324/attachment-0003.html>


More information about the Lazarus mailing list