[Gambas-devel] Edit/Install component

Benoit Minisini gambas at ...1...
Wed Aug 9 21:55:30 CEST 2006


On Wednesday 09 August 2006 21:28, Ron Onstenk wrote:
> On Wednesday 09 August 2006 19:53, Benoit Minisini wrote:
> > You should use "make install", as this way you are sure that all needed
> > things are done.
> > For your tests, you can do the "make install" once,
>
> That is clear, it is done once.
>
> > and copy the *.gambas file by hand the next times.
>
> Are the added properties/methods, change method declarations etc
> that change the content of the *.gambas not in the .info/.lst file?
>
> > Note that you don't have to generate the component to make your tests.
> > Running the component project is like running any other project using
> > this component.
>
> This is not for the .mdi Workspace the case.
>
> In the test form inside the .mdi/.mda it works correct.
> Add and Remove from the workarea and $aWindow does work.
> My Add/Remove does what the word say it should do.
>
> Users expect when they Add a Window it _is_ Add and for
> Remove it is _Remove_ ( gone from memory to) and I made
> it this way, bad for me afterwarts regarding the IDE.
>
>
> The requirements of the IDE work somewhat different.
> In the IDE it does not Add if the windows already once
> is add but add only the Tab (where?) and removing remove the
> Tab but not the window himself always.
> Sometimes it looks as the IDE destruct the window complete
> other time it removes only the Tab.
>
> The rule you use is after many try and error still not clear.
> I'm afraid you use in the IDE other functions/methods direct
> on the windows which are not handled by the Watcher.
>
>
> In this way it is questionable the current Workspace is
> a User-Control intentional component and not a IDE only workspace.
>
> All the times I get out of bound error on $aWindows
> or invalid index into $aWindows.
> It is the last struggle I have to solve. :)
>
> Brings a question up.
> When the IDE does a Window.Close (Fedit.Close) is the
> windows then closed and get the Watch_Close a signal
> the close has happen, or is Watcher_Close run before
> the window is actual closed.
>
>
> Anyway I can use it now but must be sure to safe before
> I close a window. Terminating error when I get them. :)
>
> I hope to survive,
>
> Ron

The aim must be that there is no difference between opening a window normally, 
and opening a window inside a Workspace:

* If you close the windows in code, with the Close() method, then the window 
must disappear from the workspace. This is done by using the "Close" event of 
a Watcher. This event is raised only if the Close event is not stopped, and 
the later as possible, i.e. just before the window is explicitely hidden or 
destroyed.

* You can close the windows from the interface, with the close button in the 
tabs. Then the Workspace calls Close on the windows, and you return to the 
previous case.

The user just have to use the Add() method to insert an already existing 
Window inside a workspace. The method that creates a new tab and reparent the 
window inside it is FWorkspace.Add().

Nothing other should change for the user.

Maybe my Workspace does not completely follow this rule, but if does not, it 
should!

P.S.: I know it is boring, and I'm not the man who could have any 
pretentiousness about that :-), but please try to make your english sentences 
as grammatically correct as possible. It is often very difficult to 
understand exactly what you mean, and this is a problem when you have 
questions on development!

Regards,

-- 
Benoit Minisini





More information about the Devel mailing list