Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-debug-dev] performApply() in ILaunchConfigurationTab

Great.  Thanks Joe.  Done:
http://bugs.eclipse.org/bugs/show_bug.cgi?id=14859.
Robert.
===========================================================



                                                                                                                        
                    Joe_Szurszewski@xxxxxxx                                                                             
                    Sent by:                         To:     platform-debug-dev@xxxxxxxxxxx                             
                    platform-debug-dev-admin@e       cc:                                                                
                    clipse.org                       Subject:     Re: [platform-debug-dev] performApply() in            
                                                      ILaunchConfigurationTab                                           
                                                                                                                        
                    04/29/02 11:40 AM                                                                                   
                    Please respond to                                                                                   
                    platform-debug-dev                                                                                  
                                                                                                                        
                                                                                                                        




Robert,

Yes, you got it right.  Actually, it would probably be better if you opened
the Bugzilla feature request.  This way it's obvious that someone has a
need and a real-world use-case for it, as opposed to one of the Debug Team
members just thinking it might be a cool idea.  Do remember that with 2.0
just around the corner, this feature request will not unfortuantely get
immediate attention.  When you file the request, please file it against
Platform/Debug.

Thanks,
Joe



                                                                          
   weisz@xxxxxxxxxx                                                       
   Sent by:                          To:                                  
   platform-debug-dev-admin@ platform-debug-dev@xxxxxxxxxxx               
   eclipse.org                       cc:                                  
                             platform-debug-dev@xxxxxxxxxxx,              
                             platform-debug-dev-admin@xxxxxxxxxxx         
   04/29/2002 10:24 AM               Subject:        Re:                  
   Please respond to         [platform-debug-dev] performApply() in       
   platform-debug-dev        ILaunchConfigurationTab                      
                                                                          




Yes, you got it right.
Let me see if I got right what you are saying ( or implying :-)  )

1) performApply() is misnamed (I guess it could be better named something
like "copyValuesToConfig" or so.)
2) the right fix is a new API, even if not available for 2.0

As for the workarounds, for now I will stick with the lengthy isValid().
(Giving the user an entry field that he can modify
is important, since entering a number (e.g. 20) might be more user friendly
than forcing the user to click a "Browse" button
and select the number out of a long list, after scrolling a few times, etc
...)

So, personally, I would prefer a proper fix.  Will you open a feature to
provide (whenever) the new API you mention?

Robert.
PS. Actually the new API could be named copyValuesToConfig, for you to use
instead of using performApply(), and then
performApply() can be  invoked only after Apply button wash pushed.

===========================================================



                   Joe_Szurszewski@xxxxxxx

                   Sent by:                         To:
platform-debug-dev@xxxxxxxxxxx
                   platform-debug-dev-admin@e       cc:

                   clipse.org                       Subject:     Re:
[platform-debug-dev] performApply() in

ILaunchConfigurationTab

                   04/26/02 07:15 PM

                   Please respond to

                   platform-debug-dev







Robert,

I think I understand what you're trying to do.  You want to use the isValid
() method just to make sure your field isn't empty, and the performApply()
method to actually check that the contents of your field are 'good'.  I
understand that this particular field might be lengthy to validate, but the
problem I see is that the performApply() method is spec'd to simply copy
values from the tab's UI widgets into the provided configuration.  There is
no mention of performing any sort of validation.  This is why it is called
more often than just when the Apply button is clicked, because there are
other times when the values need to be copied from the tabs to the
configuration (the name of the method is probably misleading).  The isValid
() method really is the proper place to put any sort of attribute
validation logic.  One possible work-around might be this:  Rather than
letting your users type in the value, make t! he field disabled, editable
only via some sort of 'Browse' button that brings up some sort of selection
dialog.  The user chooses a value, clicks OK, then back in your tab, the
selected value is shown in the field.  This way, the only place you need
validation logic is in the selection dialog you create because you know
that if there's any value at all in the field, it must be valid.  If this
doesn't work for you, then the only other solution I can see would be to
add new API, which is very unlikely to happen for 2.0.  Either that, or
live with the lengthy validation in isValid(), but try to lessen the
slowdown by doing whatever caching you can.  If I've misunderstood what
you're trying to do, please let me know.

Joe




  weisz@xxxxxxxxxx
  Sent by:                           To:
  platform-debug-dev-admin@e platform-debug-dev@xxxxxxxxxxx
  clipse.org                         cc:
                                     Subject:        Re:
                             [platform-debug-dev] performApply() in
  04/26/2002 05:25 PM        ILaunchConfigurationTab
  Please respond to
  platform-debug-dev









>When you click New, you are creating a new working copy, setting default
values, and then saving this working copy.  In the course of saving the
>working copy, performApply() is called.  Is this somehow causing you a
problem?

From a user point of view, yes.  See below.

>When you say you get an error dialog clicking New, do you mean a new
dialog separate from the Launch Configuration Dialog, or do you mean >that
an error message appears at the top of the Launch Configuration Dialog?

Thanks for pointing me to the proper area to post the error message,
instead of the separate dialog.  That's what is great about this
forum.

> It is very possible to create a New configuration in circumstances in
which there is not enough information to fill in all required attributes,
>resulting in the Launch Configuration Dialog showing you an error message
that one or more attributes are missing.  This is the expected >behaviour.
>Joe

Yes, and that's where isValid() is very useful, where attributes are
missing altogether.
I would like to use performApply() (as its name implies) to check on the
quality of content of the input when the user presses
the Apply button.
In my example, one field is the process ID of a C/C++ executable that the
user wants to attach to with the debugger.
If the user doesn't put anything there, isValid() will return false, which
disables the Apply button.
Once the user puts something there (and in all other mandatory fields),
the Apply button gets enabled, and the user clicks it.
Now what I would expect is that performApply() is called (now and only now)
and there I check the system to see if that process
id actually runs.  If I cannot find it in the list of running processes, I
will put an error message at the top of the Launch Configuration
Dialog as you mention.   (I guess that performApply() probably needs being
invoked also when the user presses directly Debug
button without pressing Apply button first.  Then I would assume that Apply
is implicit.)

I can see that I could use isValid() to do incremental checking, as each
character is entered on the entry field.
But I can see use for batch processing which performApply() IMHO is
supposed to provide.
(For example if querying the system for running processes and searching for
a match is a time consuming task, then
using isValid() will be prohibitive from a performance point of view.)

Robert.
===========================================================


 Darin Wright
                        To:        Joe Szurszewski/MIN/OTI@OTI
                        cc:
 04/26/2002             Subject:        Re: [platform-debug-dev]
 12:14 PM       performApply() in ILaunchConfigurationTab





Joe,

Can you comment on these lifecycle calls. Not sure that we need to change
anything, or if this is a required part of the implementation.

Darin

----- Forwarded by Darin Wright/WPG/OTI on 04/26/2002 12:10 PM -----

 weisz@xxxxxxxxxx
 Sent by:                           To:
 platform-debug-dev-admin@e platform-debug-dev@xxxxxxxxxxx
 clipse.org                         cc:
                                    Subject:        Re:
                            [platform-debug-dev] performApply() in
 04/26/2002 12:04 PM        ILaunchConfigurationTab
 Please respond to
 platform-debug-dev




Thanks, the defect clarifies the performApply() called twice on clicking
Apply button.

I still don't know why I get a performApply() on clicking New.  (unless it
is the same problem after all?)

I am using isValid() just to make sure that there is something entered in
the fields, and was
planning on using performApply() to check validity of the contents of all
fields in one shot, at the
time Apply button is pressed, and if something is not right then to popup
an error dialog with specific explanation.

Now when I click New, I get the error dialog since most fields are not
filled with valid data.

Robert.
===========================================================




                 Darin_Swanson@xxxxxxx

                 Sent by:                         To:
platform-debug-dev@xxxxxxxxxxx
                 platform-debug-dev-admin@e       cc:

                 clipse.org                       Subject:     Re:
[platform-debug-dev] performApply() in

ILaunchConfigurationTab

                 04/26/02 12:37 PM

                 Please respond to

                 platform-debug-dev







You have discovered a bug in the implementation logged as

http://bugs.eclipse.org/bugs/show_bug.cgi?id=14758

Thanks
Darins



weisz@xxxxxxxxxx
Sent by:                           To:
platform-debug-dev-admin@e platform-debug-dev@xxxxxxxxxxx
clipse.org                         cc:
                                   Subject:
                           [platform-debug-dev] performApply() in
04/26/02 08:52 AM          ILaunchConfigurationTab
Please respond to
platform-debug-dev





I implemented a tab for the launch configurations and added it to the tab
group together with the Common tab,
and I seem to get the performApply() invoked three times:
first time as soon as the tab is created, i.e. when I click on New, then
when I click on Apply I get it
again, but instead of once,  I get it twice.

I must be doing something wrong, but I don't know what ...
Any suggestions appreciated.

Robert.
===========================================================

_______________________________________________
platform-debug-dev mailing list
platform-debug-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-debug-dev




_______________________________________________
platform-debug-dev mailing list
platform-debug-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-debug-dev








_______________________________________________
platform-debug-dev mailing list
platform-debug-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-debug-dev




_______________________________________________
platform-debug-dev mailing list
platform-debug-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-debug-dev






Back to the top