[Gambas-user] Feature request...

sbungay sbungay at ...981...
Fri Aug 4 17:38:27 CEST 2006


Benoit Minisini wrote:
> On Thursday 03 August 2006 23:44, you wrote:
> 
>>   The search list is, as someone else on the list said, truly
>>brilliant. Now lets extend the functionality of the project tree a bit
>>more.
>>   How about listing each subroutine and function as a seperate node
>>under each class. This would allow the programmer to skip to the start
>>of any given SUB or FUNCTION by expanding the class in the tree and
>>clicking on the SUB or FUNCTION name (sorted alphabetically (of course)).
>>   Just a thought.. I find myself wanting to jump to SUBS or Functions
>>and this feature would prevent a lot of mouse wheeling/scrolling.
>>
>>Steve :)
> 
> 
> I answer on the mailing-list...
> 
> The problem with displaying a list of symbols, whereever it is, is that 
> updating it in real time is slow.
> 
> At the moment, this update is done only when needed, i.e. when you click on 
> the "go to" button in the Editor, or when the commpletion automatic pops up.
> 
> If you have a solution, I could do something.
> 
> Regards,
> 
OK.. I'll think about a solution...

I've also been thinking about User Defined Types. It occurs to me that 
these might be created and handled internally in gambas IDE as a special 
kind of class (I don't know anything about the internals of gambas so I 
am only guessing and this is probably totally wrong but here goes).
  I recall that in the other graphical BASIC environment if one defines 
a UDT one can then make the parameter of the FUNCTION or SUB of the user 
defined type. This constrains the programmer to the values declared in 
the UDT when calling that FUNCTION or SUB and eliminates things like 
magic numbers by identifying and labeling them.
   The other environment pops a list up of the labels declared in the 
UDT and this reminded me of the dot notation of a class displaying only 
the list of items defined within the class being used, so I started to 
think that UDT could be handled as a special class. So in the following 
example..

TYPE CustomerTypes
      Staff AS INTEGER = 1
      Student AS Integer = 2
      SeniorCitizen AS INTEGER = 3
      Retail AS INTEGER = 4
      Cash AS Integer = 5
END TYPE

PRIVATE SUB ShowCustomer (Customer AS CustomerType)
    SELECT CASE Customer
           CASE Staff
                message.info("Staff")
           CASE Student
                message.info("Student")
           CASE SeniorCitizen
                message.info("Senior Citizen")
           CASE Retail
                message.info("Retail")
    END SELECT
End Sub

PRIVATE SUB DisplayCustomerTypes
        MyFunction(Staff)
        MyFunction(Student)
        Myfunction(Cash)
END SUB

   Or something along those lines (haven't used VB for quite awhile.. 
syntax may be all wrong.. my appologies).
   Anyway, the point is to abstract the values out as readable words so 
as soon as the programmer types 'ShowCustomer(' the IDE would seek out 
the datatype for the parameter and if it is a UDT, present a list of the 
labels (but not their values) used for each item in the UDT.

   Another Nice To Have is the ability to use different fonts localized 
within controls. For example, the application I am putting together 
right now uses frames to group the interface into logical working 
components for the user, the end user would like one frame to have it's 
caption slightly larger and in boldface. When I did this  in the frames' 
properties all of the fonts on the form changed (which I totally did not 
expect).
   Keep up the good work...

Steve :)




More information about the User mailing list