Feature requests

Posts   
 
    
MacDennis avatar
MacDennis
User
Posts: 50
Joined: 03-May-2005
# Posted on: 27-Jun-2005 22:27:50   

Hi,

It would be great if these features could be implemented some day ..

  1. Multi-select of tables in the schema explorer and the ability to perform relevant actions on these tables, like adding them as entities.
  2. Same as above but now for the entities in the project explorer.
  3. A rename action by double clicking an entity name or field name. It now open/closes a node but we have the +- sign for that ..
  4. My #1 request, the ability to group related entities on a functional level in a particular namespace. Modulair setups would really benefit from this, think DotNetNuke. Ideally, I could have several modules each with there own 'Product' entity. And use the entity like this for example: EntityClasses.ModShop.ProductEntity. This would avoid naming conflicts, don't know how feasible this is though.

And let's say you have a CRM and a HRM catalog. Each with their own 'Person' table / entity. I want to avoid having to name the enity CrmPerson and HrmPerson in a multi-catalog setup.

And what about a feature request form? simple_smile

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39618
Joined: 17-Aug-2003
# Posted on: 28-Jun-2005 11:09:43   

MacDennis wrote:

Hi,

It would be great if these features could be implemented some day ..

  1. Multi-select of tables in the schema explorer and the ability to perform relevant actions on these tables, like adding them as entities.

The schema and project explorer are currently build with the normal .NET treeview. The problem with that treeview is that it doesn't support multi-selects. The infragistics treeview does however, but changing the treeviews for the infragistics treeview will take a lot of time, which is IMHO better off spend elsewhere. Adding entities is done via the project explorer, which is IMHO the fastest way to add entities.

I will look into the possibility to add entities based on the selected tables/views in the catalog details view.

  1. Same as above but now for the entities in the project explorer.

Same answer as above. simple_smile Multi-select in a treeview can only be added by a severe restructuring of the code, and that's not planned for now.

  1. A rename action by double clicking an entity name or field name. It now open/closes a node but we have the +- sign for that ..

Double click can't be intercepted as such: you can't prevent the open/close action on double click. You can other things on double click as well (which is done when you set that preference), but not 'instead of'.

To rename the node, select either by right-click -> rename or by select -> F2

I disabled the option of the treeview which kicks in when you slowly double click a node and it then goes into rename mode. This is done because not all nodes can be renamed, and validation has to kick in after the name is changed, and if the name is invalid, the node has to stay in edit mode.

To say it in friendly words, this sucks major *******. I.o.w.: I spend 2-3 days on it to get it right, but in the end I gave up. There are a couple of ways to rename entities, fields etc.

  1. My #1 request, the ability to group related entities on a functional level in a particular namespace. Modulair setups would really benefit from this, think DotNetNuke. Ideally, I could have several modules each with there own 'Product' entity. And use the entity like this for example: EntityClasses.ModShop.ProductEntity. This would avoid naming conflicts, don't know how feasible this is though.

I thought about this for a while, though couldn't find a solid solution. Of course, creating groups inside the project is possible, though what do these groups mean, semantically? I mean: I always ended up with the idea that it looked like 2 or more projects created on the same catalogs. I then think it's more wise to simply create more than one project on the same catalog.

But I'll give it a thought for 2.0 simple_smile

And let's say you have a CRM and a HRM catalog. Each with their own 'Person' table / entity. I want to avoid having to name the enity CrmPerson and HrmPerson in a multi-catalog setup.

IMHO CrmPerson / HrmPerson is more preferable than having two 'Person' types. Because What if I have in code:


Person p = new Person();

What kind of person is p? I don't know, I have to check the namespace imports/using statements.

Frans Bouma | Lead developer LLBLGen Pro
mattlant
User
Posts: 16
Joined: 24-Jun-2005
# Posted on: 28-Jun-2005 23:55:11   

Just a quick thought

Double click can't be intercepted as such: you can't prevent the open/close action on double click. You can other things on double click as well (which is done when you set that preference), but not 'instead of'.

You can actually do this fairly easily. Derive your own treeview control and override WndProc as such:


        protected override void WndProc(ref Message m)
        {
            switch(m.Msg)
            {
                case 0x203: // WM_LBUTTONDBLCLK
                    this.OpenSelected();
                    return; // Return without passing up to base because we already handled it
            }
            base.WndProc (ref m);
        }

I generally have some extra logic in there to see if its openable (in case non-openable, security or otherwise) and if so I open it. If its not openable i check to see if it has children nodes and if so I expand it.

I think this could make a great addition to the designer for opening the entity(not renaming) as I am used to dbl clicking to open regardless if it has children.

Matt

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39618
Joined: 17-Aug-2003
# Posted on: 29-Jun-2005 11:04:03   

Great tip, I'll check it out simple_smile

Frans Bouma | Lead developer LLBLGen Pro