Folders and Colors for a More Organized XOJO

I too would love to have folders in properties, methods, etc.

I’ve come up with a work around by creating a Class to hold related Properties. For example, I have a Card Class that uses a bunch of Properties inside a MoveCard method. Since that method is the only place they are referenced I would love to be able to use a folder for them in the Navigator. My workaround is to create a new Class called MoveCardProps then add an instance of this Class inside the Card Constructor. Not ideal, but helps keep the Navigator better organized.

Ric

It’s a good idea.

I organize myself by putting a prefix for the methods and properties.

Example Methods:

uti = for utility methods

uti_InitInterface

uti_InitInterface

Bdd: for method of managing records on a database

bdd_Save

bdd_Read

Win = for property four the window

win_larg

win_Haut

win_couleurFond

Url = for property for connection to a http server

url_addressServer

url_mdp

url_user

That’s a great way to assure that all similar properties are “grouped” together in the Navigator.

The thing for me is not having to see dozens of properties all the time. Folders would allow us to group properties and methods, and by default the folders would be collapsed, making the Navigator much less busy.

1 Like

Just to bump it a bit, there is an issue for this here: https://tracker.xojo.com/xojoinc/xojo/-/issues/65737

vote it up and let’s make it happen!

Just a reminder, you can prefix property names with just about any UTF8 character besides tilde and underscore (reserved by Xojo). I personally use that to group properties together the way you are describing.

I’ve even seen people use symbols like :hollow_red_circle: and :cross_mark:.

Not all symbols are available. YMMV

Doesn’t that make it very difficult to type those property names in code contained within the class, where you don’t really use autocomplete?

I rarely don’t use autocomplete

1 Like

So you also use self in a class’s code, then?

My solution to that, because I use symbols a lot in code and for everyday use (e.g :check_mark: and ✗ for right and wrong) is to build a keyboard layout with them. Here, :check_mark: is option-shift-J and ✗ is option-shift-K (my choice, of course) and once you’re used to it, it’s straightforward.

2 Likes

Can you explain how you do that ?

Hi Emile,

Currently all properties, methods, event handlers, etc. are shown in the Navigator as a flat list, sorted alphabetically. This works fine when there are a manageable number of them, but quickly becomes overwhelming as more and more are added. The idea of using folders will allow the user to add named folders that would reside in the properties, methods, etc. list. They would then be able to move specific items to the folder. This would facilitate logical grouping and also make it possible to tuck them out of the way when the folder is collapsed. Reducing the number of items at the parent level would make it easier to navigate the Navigator. Less items to wade through, an efficient way to group them, and the ability to reduce visual noise and clutter by collapsing folders.

Ric

1 Like

Hi Ric,

I understand correctly the sentence above because I know the product, but it can be understand as if there is no Properties, no Notes, no Methods, no Events, etc. that can be expanded/collapsed.

Also, it is possible in Xojo to place a Window and a Module (other objects ?) in a Folder.
Ypu can place your properties and Methods / Functions in a Module so they do not appears in your Window’s Navigation pane.

At last, you can use prefixes to your User Interface Controls to keep them grouped. I even add numbers when it is needed to keep some control grouped in the Navigation pane.

Of course, the Navigation pane (and the IDE in general) can get some new features / ameliorations, but I thing Xojo Engineer time is better used for new features / bug removals.
IMHO.

Remember: the sign “Greater Than” before √ Properties is a flag that says “There are defined Properties”. Same for the other objects (like Menu Handlers…)
image