Wish Modules Tab upgrades

Discussion in 'B4J Bugs & Wishlist' started by Roycefer, Aug 23, 2015.

  1. Roycefer

    Roycefer Well-Known Member Licensed User

    Right now, the Modules tab looks like this:
    Code:
    ActiveModule
    ModuleA
    ModuleB
    ModuleC
    ActiveModule:SubA
    ActiveModule:SubB
    ActiveModule:SubC
    ActiveModule:SubD
    I think it would be more useful if it looked like this:
    Code:
    ActiveModule
    ModuleA
    ModuleB
    ModuleC
    ActiveModule:Regionless
         SubD() 
    As String
    ActiveModule:RegionA
         SubA(arg1 
    as Int, arg2 as ComplexMatrix) As HyperbolicParaboloid
         SubB() 
    As String
    ActiveModule:RegionB
         SubC() 
    As Boolean
    In short, having the subs in the active module grouped by region and showing their full signature is a lot more informative and useful than having "ActiveModule:" prefix every sub and having them listed solely alphabetically with no parameter or return info. You can check out how it's done in NetBeans for inspiration, though this scheme would be even more useful than the way NetBeans does it since NetBeans doesn't have #Regions.

    Also, it would be handy if you used a different icon for Public and Private subs. I'm thinking something with a padlock in it for Private subs. Perhaps also a different icon for subs that will be seen as properties outside the class. Could even be the same icon used in the code completion menu (the wrench). And different icons for the various kinds of modules (class, filter, handlers, websocket, etc...).
     
    Last edited: Aug 23, 2015
    moster67 likes this.
  2. Roycefer

    Roycefer Well-Known Member Licensed User

    It would also be very useful to have a +/- next to each #Region listing and each Sub listing in the Modules tab so that you could collapse and expand #Regions and Subs from the Modules tab. All this would make navigating large modules much more programmer-friendly.
     
  3. alwaysbusy

    alwaysbusy Expert Licensed User

    Like your first suggestion (indentation), but I can only agree with a tree if they are ALL expanded by default. A competing tool has introduced a tree in their explorer a couple of years ago and I hate it. Never had to click so much in my life. A tree can be very counterproductive.
     
  4. Roycefer

    Roycefer Well-Known Member Licensed User

    I'm not suggesting a tree, just indentation (along with #Region names and full Sub signatures). The collapsing and expanding would be occurring in the code editor window. It would just be (additionally) controlled from the Modules tab.
     
  5. alwaysbusy

    alwaysbusy Expert Licensed User

    Ah I see, that could be a cool idea!
     
  6. Roycefer

    Roycefer Well-Known Member Licensed User

    As I presume work on these ideas is continuing apace, I thought I'd add one more improvement to the Modules tab. In addition to everything described above, it would be handy if the Globals for the module were listed (as well as their type). Clicking on a Global would have the same effect as double-clicking on a word in the code editor (namely it would highlight all the appearances of that word in the active module). All these improvements would really make navigating large projects and large modules a lot easier.

    To summarize:
    Code:
    ActiveModule
    ModuleA
    ModuleB
    ModuleC
    +ActiveModule:Globals
        ImportantValue 
    As Int
        MeaninglessValue 
    As String
        Interesting 
    As EllipticalPrism
    +ActiveModule:Regionless
        +SubD() AsString
    +ActiveModule:RegionA
        +SubA(arg1 
    as Int, arg2 as ComplexMatrix) As HyperbolicParaboloid
        +SubB() AsString
    +ActiveModule:RegionB
        +SubC() 
    As Boolean
     
    Last edited: Nov 9, 2017
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice