[Mono-dev] TR: How to access XplatUI for custom controls?

Stefanos A. stapostol at gmail.com
Fri Oct 15 04:30:58 EDT 2010


You can use reflection to access XplatUI methods. This is evil and may break
between Mono versions. Just make sure you test your code whenever a new Mono
version comes out.


2010/10/15 Lionel Cuir <lionel_email at aulofee.com>

>  To go a little further: many good .NET controls, opensource or not, use
> win32 calls. Many developpers I have met only know the win32 APIs and nor
> their equivalent in Linux. Typically, many well-known commercial GUI
> toolkits (componentOne, devexpress, infragistics, ...) use Win32 calls and
> so cannot run on Linux.
>
> If Mono was providing a class to interface/hide these platform-specific
> calls, that would drive people to port/create nice .NET controls, including
> all the commercial packages above, that could run on Mono/Linux. That would
> be a great result, wouldn't it?
>
>  ------------------------------
> *De :* Lionel Cuir [mailto:lionel_email at aulofee.com]
> *Envoyé :* vendredi 15 octobre 2010 08:45
> *À :* 'Miguel de Icaza'
> *Objet :* RE: [Mono-dev] How to access XplatUI for custom controls?
>
> Right now, I'm using only a very limited subset:
> GetFocus,
> ResetMouseHover
> ScrollWindow
>
> So obviously, I could manage it manually. But I was thinking about porting
> various opensource controls, available on Internet and which uses
> GUI-related win32 calls (such as the ecellent DockPanel). As a lot of work
> has been within XplatUI and its "drivers", I was looking at reusing them. My
> first idea was to ask about making all/some XplatUI's methods public. But
> maybe the easier way is to extract what's needed from these classes (easier
> but not smarter way though).
>
>  ------------------------------
> *De :* miguel.novell at gmail.com [mailto:miguel.novell at gmail.com] *De la
> part de* Miguel de Icaza
> *Envoyé :* jeudi 14 octobre 2010 18:34
> *À :* Lionel Cuir
> *Cc :* mono-devel-list at lists.ximian.com
> *Objet :* Re: [Mono-dev] How to access XplatUI for custom controls?
>
> Making it public would make your code not work on Windows's Windows.Forms.
>
> What exactly do you need from the XplatUI?
>
> On Thu, Oct 14, 2010 at 12:13 PM, Lionel Cuir <lionel_email at aulofee.com>wrote:
>
>>  Hi all,
>>
>> I'm creating a custom control (a list view with extended functionalities)
>> and would need to access some low-level GUI methods provided by the XplatUI
>> class. This in order to access platform-specific actions (scroll window,
>> mouse actions...) without to explicitly test the platform / call the right
>> platform's API - and to avoid to redo what others have brilliantly done!
>>
>> Yet, XplatUI is defined as an internal class and so cannot be accessed
>> directly.
>>
>> Is there another way to access it? Or could it be made public in a future
>> version of Mono?
>>
>> Regards,
>>
>> Lionel
>>
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>>
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20101015/2e3fa59a/attachment.html 


More information about the Mono-devel-list mailing list