[Gambas-devel] New controls

David Villalobos Cambronero david_villalobos_c at ...7...
Tue Jul 22 18:11:47 CEST 2008


Hi Benoit, 

You are right about the MemInfo.

I'll will make the changes in the MessageLabel and send it again to review.

Let me think about the message box, and how to implement it and I'll tell you, it is a good idea to have something similar. Maybe we can add a log file to store all the messages. Please let me know any idea you have related with this.

 Regards


David



----- Original Message ----
From: Benoit Minisini <gambas at ...1...>
To: mailing list for gambas developers <gambas-devel at lists.sourceforge.net>
Sent: Saturday, July 19, 2008 4:38:31 AM
Subject: Re: [Gambas-devel] New controls

On mardi 15 juillet 2008, David Villalobos Cambronero wrote:
> Hi Benoit:
>
> I have written two classes that provide two controls, we can add it to
> gb.form
>
> One of them is called: MessageLabel, its goal is to provides a “Status
> Label”, so, you can send a message and say if this message is Error type
> (red background), Info (green background), etc. I wrote it because is a
> good practice to inform the user about the “events” that happens in the
> program like Gambas IDE does, so I added a color background to call the
> attention of the user.
>
> The other one is called MemInfo, its goal is to provide a label that return
> the memory used by the application. I think in some programs we will need
> to know the amount of memory used.
>
> In the project has a form to show how it works, so, install the component
> and then uncomment all the code and run it.
>
> So, please take a look and please tell me what do you think.
>
>
> Best regards
>
> David

Hi David,

I looked at both controls, and I'm not really convinced by MemInfo.

The MemInfo won't tell you the real memory used by the process. There are two 
good ways to do that, depending on what you want to know. None of them is 
really accurate.

The first one is what does the Gambas script example on the wiki: calculate 
the memory used by the system without I/O caches before starting the program, 
and during its execution. The difference is the actual memory used by the 
program.

The second one is analysing the memory used by *all* processes with the 'pmap' 
program, and then calculating the memory used by the examined process by 
giving a weight to each memory segment. A non-shared memory section is fully 
attributed to the process, a shared memory section is given a weight 
inversely proportional to the number of processes using it.

Anyway, I'm not sure putting this control in a common component is useful, 
even if it would give the right information, because it is very rarely used.

The MessageLabel is more useful. But it needs some work:

* The MessageLabel should have an AutoResize property, like the Label.
* The standard background must be used for "normal" messages.
* Why do you use "Export Optional"?
* The MsgXXXX properties should be renamed to XXXXColor. This is far more 
readable.
* A Clear() method to clear the label, and stop the internal timer.
* Why is there a Default property?
* Did you try to implement the control by directly inherit Label?

Your MessageLabel makes me think... If you are brave, here is another thing 
that you could implement:

It is a sort of internal message box like Firefox uses. It should be a 
component that exports a Message class to replace the old one, and a 
MessagePanel control that the user put inside its main form. Only one 
MessagePanel by application should be enough. The MessagePanel should not 
actually be needed, if you can insert it automatically in the main form by 
using some Reparent() magic, and let the user specifying where it should be 
inserted (on top/bottom of a specified control).

Tell me what you think abot that!

Regards,

-- 
Benoit Minisini

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Gambas-devel mailing list
Gambas-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-devel








More information about the Devel mailing list