My property editor is a key component, so I spend a lot of time looking for ideas on how to improve this. I am “OKich” using the old property editor where you have to expand every Attribute and edit a sub-list as illustrated below, but seeing the tables I also considered allowing inline editing in the tables.
So to improve this I enabled direct inline editing in the sub-tables. You still have to expand the attribute to edit some details, but it is much faster changing the key modelling content for classes and Data Tables now. This also includes Method Names and Event names etc.
I am as mentioned focusing on the modelling part because I have started using BSA active on a project myself. What remains now is printing/export of diagrams and maybe support for more UML alike diagrams. I have message sequence diagrams in mind as well as packages. The intention is to use Modules as packages allowing you to connect multiple modules in diagrams. As for message diagrams they are basically an alternative state-diagram showing sequence of messages in a communication dialogue. My previous experience with editing these is that it might be usefully to consider a combination of diagram and table-driven aproach – I need to think a bit on this.
As for other UML diagrams – It is nothing that stops us from implementing them, but some of the diagrams overlap a lot with PLD so it adds complexity to get code out on the other end. That said it is straight forward to implement the diagrams themselves. The graphical editor in BSA is very strong and easy to expand to just make dumb diagrams – so lets see what pops up.
I have a pragmatic aproach to modelling because the objective of BSA, PLD and PLAIN is to increase productivity on programming tasks. In real life you will be writing low level code manually ( or through PLD) – implement them as tools and abstract into a faster way of coding. BSA shall extend classic IDE’s, not replace them so you use the parts that works for you.
I think my next task should be to populate the table bar above. The first button is Add, the 2nd is Edit that is not needed because you can edit directly (IM style), then it is delete table row and Move Up/Down. As I have implemented inline edit it becomes more complicated to select a row or rows so I need to look into that details as well. I might need a checkbox at left of the ‘+’ button – not sure.
Another concern is the property tree example below:
This works well – I expand a list of methods and each of them have properties of their own and parameter tables that also have properties of their own. It all works very well, but the tree becomes a bit confusing with multiple rows and multiple tables/lists. I am not sure if I want to change this, but it is on my list of things to evaluate, One option is maybe to limit what you can expand at the same time now as we can edit tables inline – but again this can be done by the user, so I am not sure it is wise to add automation that might be annoying/limiting.
Happy coding 🙂