DELPHI AREA
MESSAGE BOARD
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   FavoritesFavorites   Watched TopicsWatched Topics     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

TSimpleGraph Issues (and wish list)
Goto page Previous  1, 2, 3
 
Post new topic   Reply to topic   printer-friendly view    DELPHI AREA Forum Index -> DELPHI AREA's Products
View previous topic :: View next topic  
Author Message
kokkoras
Moderator


Joined: 12 Mar 2005
Posts: 275
Location: Thessaloniki, Greece

PostPosted: 12/10/06 00:41    Post subject: Reply with quote

I am coming back to issue 14, regarding the addition of a OnSelectionChange event. The are basically 2 ways to select objects:
1. one object at a time
2. many objects at a time
In both cases we don't care if it is a first selection or a modification to a selection.

My suggestion is the following:
Have the TSG fire an OnSelectionChange event when either of the 2 selection methods is used. Then, let the user deside in the OnSelectionChange event handler if the event was handled. If the user says handled=false (which would be the default behaviour) then fire also the OnObjectSelect event for each individual objects selected/deselected.

It is like the behaviour in the onUpdate event handler of TToolBar, in which if the user says that the event was not handled then the onUpdate event handlers of the individual buttons are fired.

Well, Kambiz, what do you think?

16. Add group support.
I can think of the following way to do this: Create a special class of Graph object, say a GraphGroupNode. This will be like an ordinary graph node (that is, it will have a caption, alignment and layout properties, etc.) but will also include a list of the referents of the objects it includes. At the same time, all nodes should have a property defining the group node this node belongs to (if any). In this way, it will be possible to handle the various objects in diffenet ways according to the operation. For example:
>> during selection, objects belonging to a group are not marked as selected.
>> moving a group should mode its internals as well, an so on.

In another approach, maybe it is better to add this ability to the current GraphNode class and not create a GraphGroupNode. If a GraphNode has an emply list of grouped objects then it is not a group. If it belongs to no other graph node then it is an independent node that does not belong to any group.

In either case, being able to add groups inside a group is desirable. Having said this, I think that the 2nd approach proposed above looks more promising.

I understand though that I am only scratching the surface on this issue. It is definitely not so simple to add group support.

_________________
Fotis
Back to top
View user's profile Send private message Visit poster's website
Kambiz
Administrator


Joined: 07 Mar 2003
Posts: 1113
Location: Tehran, Iran

PostPosted: 12/10/06 10:48    Post subject: Reply with quote

I've already implemented (2-3 months ago) grouping and used a new graph object class.

However, I think it's time to write SG from scratch.

_________________
Kambiz
Back to top
View user's profile Send private message Send e-mail Visit poster's website
kokkoras
Moderator


Joined: 12 Mar 2005
Posts: 275
Location: Thessaloniki, Greece

PostPosted: 12/10/06 11:01    Post subject: Reply with quote

Kambiz wrote:
I've already implemented (2-3 months ago) grouping and used a new graph object class.


Opps! Is it in v2.61 ?


Kambiz wrote:
However, I think it's time to write SG from scratch.


Shocked Shocked OK!
What time are you starting at? Cool

_________________
Fotis
Back to top
View user's profile Send private message Visit poster's website
Kambiz
Administrator


Joined: 07 Mar 2003
Posts: 1113
Location: Tehran, Iran

PostPosted: 12/10/06 22:29    Post subject: Reply with quote

1. The update is not released to public domain. :-S

2. When I find a little time for my hobbies. Sad

_________________
Kambiz
Back to top
View user's profile Send private message Send e-mail Visit poster's website
kokkoras
Moderator


Joined: 12 Mar 2005
Posts: 275
Location: Thessaloniki, Greece

PostPosted: 24/11/06 22:52    Post subject: Reply with quote

Kambiz wrote:
I've already implemented (2-3 months ago) grouping and used a new graph object class.
However, I think it's time to write SG from scratch.


Kambiz, any chance of providing us with the "groups included" version? Is it stable?

_________________
Fotis
Back to top
View user's profile Send private message Visit poster's website
Kambiz
Administrator


Joined: 07 Mar 2003
Posts: 1113
Location: Tehran, Iran

PostPosted: 25/11/06 14:22    Post subject: Reply with quote

It's not stable. Sad

Honestly, I've reached to this point that the component needs to re-design.

_________________
Kambiz
Back to top
View user's profile Send private message Send e-mail Visit poster's website
kokkoras
Moderator


Joined: 12 Mar 2005
Posts: 275
Location: Thessaloniki, Greece

PostPosted: 01/12/06 08:55    Post subject: Reply with quote

While looking for some ...competitor Wink I fall upon this:

CodeAccelerate's SweetDrawingEngine
at http://www.codeaccelerate.com/

It's CAD oriented, has some nice features and is missing many more found in TSimpleGraph Rolling Eyes

_________________
Fotis
Back to top
View user's profile Send private message Visit poster's website
HPW
Senior Member


Joined: 25 Feb 2006
Posts: 131
Location: Germany

PostPosted: 01/12/06 20:00    Post subject: Reply with quote

Thanks for the link!
Indeed interesting but also missing a lot.
First absolut no documentation!
No community!
Missing some basic primitives like line etc.

And the demo compiles only when you have their other commercial component.
But the exe is nice.

_________________
Hans-Peter
Back to top
View user's profile Send private message
kokkoras
Moderator


Joined: 12 Mar 2005
Posts: 275
Location: Thessaloniki, Greece

PostPosted: 01/12/06 22:23    Post subject: Reply with quote

You are right. I judged and posted based on the EXE. Latter on I saw the bare code and the lack of documentation... Sad

Anyway, it shows it's commercial back-end.

_________________
Fotis
Back to top
View user's profile Send private message Visit poster's website
Johnny_Bit
Administrator


Joined: 15 Jun 2003
Posts: 347

PostPosted: 02/12/06 10:24    Post subject: Reply with quote

Practically, they suck. If we would gather to write some stuff I bet that we would beat them.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Kambiz
Administrator


Joined: 07 Mar 2003
Posts: 1113
Location: Tehran, Iran

PostPosted: 02/12/06 13:41    Post subject: Reply with quote

It has some nice features that SG doesn't have. By the way, for gradient they have used my code (TGradient 2.60). Smile
_________________
Kambiz
Back to top
View user's profile Send private message Send e-mail Visit poster's website
HPW
Senior Member


Joined: 25 Feb 2006
Posts: 131
Location: Germany

PostPosted: 20/01/07 07:38    Post subject: Reply with quote

I was asked about the possibility to make the runtime-dialogs 'LinkProp,MarginsProp,NodeProp,Objectprop,DesignProp' able to support multiple languages. I do not want to hardcode different versions.
So whats the best way to do it?
Read a INI-file on FormCreate and set all labels?

Other ideas?

_________________
Hans-Peter
Back to top
View user's profile Send private message
Kambiz
Administrator


Joined: 07 Mar 2003
Posts: 1113
Location: Tehran, Iran

PostPosted: 20/01/07 09:43    Post subject: Reply with quote

HPW wrote:
Read a INI-file on FormCreate and set all labels?

I do in this way but instead of INI file I use XML which is more flexible.

_________________
Kambiz
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Johnny_Bit
Administrator


Joined: 15 Jun 2003
Posts: 347

PostPosted: 20/01/07 09:48    Post subject: Reply with quote

It's good to use XML, but when I started working in some GPL'ed stuff in C++ I just loved the way it's handled there... Delphi sometimes suck at such cases.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
HPW
Senior Member


Joined: 25 Feb 2006
Posts: 131
Location: Germany

PostPosted: 21/01/07 07:36    Post subject: Reply with quote

Thanks for the hints. Since I want to keep things simple, I ended with a flat stringlist which get loaded by my plugin from a neobook variable.

Example from object dialog:
Quote:

Caption=Object Properties
Label1=Label:
Colors= Colors
LabelColFill=Fill:
LabelColLine=Line:
btnChangeFont=Change Font...
LabelOptions=Options:
PublicOptions=Linkable|Selectable|Show Caption
btnOK=OK
btnCancel=Cancel
btnApply=Apply


On FormCreate I use the value-property to get the captions.
(I gave some objects a more speaking name)

_________________
Hans-Peter
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    DELPHI AREA Forum Index -> DELPHI AREA's Products All times are GMT
Goto page Previous  1, 2, 3
Page 3 of 3

Add to favorites

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group