Recent

Author Topic: Tabbed document interface  (Read 36127 times)

theo

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1927
Re: Tabbed document interface
« Reply #15 on: May 18, 2010, 05:02:17 pm »
Followup set to alt.sci.philosophy

 :D

LazaruX

  • Hero Member
  • *****
  • Posts: 597
  • Lazarus original cheetah.The cheetah doesn't cheat
Re: Tabbed document interface
« Reply #16 on: May 18, 2010, 05:38:17 pm »
well, I have always used the TPageControl as Theo does, acutally I though that TDI was just a concept of using TPageControls, but as I see I was wrong

theo

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1927
Re: Tabbed document interface
« Reply #17 on: May 18, 2010, 05:45:22 pm »
well, I have always used the TPageControl as Theo does, acutally I though that TDI was just a concept of using TPageControls, but as I see I was wrong

Can you explain what's wrong with that? I don't get it.

Silvio Clécio

  • Guest
Re: Tabbed document interface
« Reply #18 on: May 18, 2010, 06:24:58 pm »
theo, no mystery guy:

Lazarus/FlameRobin/pgAdmin = SDI;
Firefox/Chrome = "PageCtrl", but, TDI too;
NetBeans/Delphi-2010 = TDI;
PhotoShop/M$Word-2003=MDI

theo

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1927
Re: Tabbed document interface
« Reply #19 on: May 18, 2010, 06:42:06 pm »
theo, no mystery guy:

Lazarus/FlameRobin/pgAdmin = SDI;
Firefox/Chrome = "PageCtrl", but, TDI too;
NetBeans/Delphi-2010 = TDI;
PhotoShop/M$Word-2003=MDI

Thanks.
I know what SDI is, I know what MDI is but could you please please explain in simple words what the difference between Firefox and NetBeans (PageControl/TDI) is in this regard?
Thank you!

stonefull

  • Jr. Member
  • **
  • Posts: 54
Re: Tabbed document interface
« Reply #20 on: May 18, 2010, 07:09:43 pm »
An MDI application opens each document in a child window, such as MSWORD. TDI opens each document in a tab, such as Firefox, IE, etc.

garlar27

  • Hero Member
  • *****
  • Posts: 652
Re: Tabbed document interface
« Reply #21 on: May 19, 2010, 07:11:25 pm »
Well, IMO this topic is going in circles like a dog trying to bite his own tail...

I think that what TurboRascal, Silvio, my self, and many more need is a transparent way to handle those tabs like they where forms (creating new ones, remove the ones that are no needed) ... nowadays you have to code the creation and destruction of all components you will use on each tab (even using frames you will have to create the new tab, create frame, set the parent property... the same if you need to destroy a tab %)).

Troodon

  • Sr. Member
  • ****
  • Posts: 484
Re: Tabbed document interface
« Reply #22 on: May 19, 2010, 08:24:11 pm »
You can add all the components you need on a tab at design time and hide/show the tab ("page") at run time, just like you would do with a non-main form.
Lazarus/FPC on Linux

Silvio Clécio

  • Guest
Re: Tabbed document interface
« Reply #23 on: May 20, 2010, 01:31:22 pm »
Sorry for my delay in responding.
theo, see this:

http://imagebin.org/97673

This is a complete TDI. You may say that does this with just PageContrl, but will give you much work.

Hm... If it were my choice, the Lazarus IDE would be this way, similar to NetBeans IDE.

theo

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1927
Re: Tabbed document interface
« Reply #24 on: May 20, 2010, 02:57:56 pm »
This is a complete TDI. You may say that does this with just PageContrl, but will give you much work.

Yes. But what would give you less work?
This is my point from the beginning of this thread.
See: http://forum.lazarus.freepascal.org/index.php/topic,9448.msg46352.html#msg46352
What would you improve? What's wrong with TPageControl.

I only understand: "we would like something better". But what?

Silvio Clécio

  • Guest
Re: Tabbed document interface
« Reply #25 on: May 20, 2010, 03:33:02 pm »
Sorry, I do not know 100% of what I speak because I am using a translator.

But I think that last I was clear in last post. If you think it easy to create an interface such as NetBeans only with PageControl, I do not think. For me it would be easy if there was a visual component set. And I think most do not think it easy to create as many features using only PageControl.

Troodon

  • Sr. Member
  • ****
  • Posts: 484
Re: Tabbed document interface
« Reply #26 on: May 20, 2010, 05:32:10 pm »
alt.sci.philosophy it is....
Lazarus/FPC on Linux

TurboRascal

  • Hero Member
  • *****
  • Posts: 672
  • "Good sysadmin. Bad programmer."™
Re: Tabbed document interface
« Reply #27 on: May 21, 2010, 05:50:07 pm »
I think that what TurboRascal, Silvio, my self, and many more need is a transparent way to handle those tabs like they where forms (creating new ones, remove the ones that are no needed) ... nowadays you have to code the creation and destruction of all components you will use on each tab (even using frames you will have to create the new tab, create frame, set the parent property... the same if you need to destroy a tab %)).

I'd say your post most accurately describes what we are looking for!

You can add all the components you need on a tab at design time and hide/show the tab ("page") at run time, just like you would do with a non-main form.

Yes, but there is much labor involved, especially when you dynamically create and destroy those tabs, and even more if they themselves are complex...

We do need components that make it as easy as creating MDI windows in other environments.
Regards, ArNy the Turbo Rascal
-
"The secret is to give them what they need, not what they want." - Scotty, STTNG:Relics

garlar27

  • Hero Member
  • *****
  • Posts: 652
Re: Tabbed document interface
« Reply #28 on: June 09, 2010, 07:49:05 am »
And Docking capability would be a blessing!! :D

davesimplewear

  • Sr. Member
  • ****
  • Posts: 319
    • Davids Freeware
Re: Tabbed document interface
« Reply #29 on: June 09, 2010, 08:36:04 pm »
TurboRascal, as Theo says you can create a tab dynamically using aTPageControl which would have the same effect as a TDI, I will include some psuedo code to demonstrate:
Code: [Select]
procedure TfMain.newEditMemo(aName: string);
begin
 Screen.Cursor := crHourGlass;
   try
   //create tabsheet to hold the memo , assign to the page control
   newTabsheet := TTabSheet.Create(pcEditor);
   newTabsheet.Parent := pcEditor;//PageControl
   newTabsheet.Caption := aName;
   //newTabsheet.Hint := Name;
   fMain.ParentShowHint := False;
   fMain.ShowHint := False;
   fMain.Caption := MainCaption + newTabsheet.Caption;
   newTabsheet.ImageIndex := 0;
   newTabsheet.ShowHint := False;
   newTabsheet.ParentShowHint := False;
   newTabsheet.PageControl := pcEditor;
   pcEditor.ActivePage := newTabsheet;
   pcEditor.ParentShowHint := False;
   // create Memo and align, set Properties
   newMemo := TSynMemo.Create(newTabsheet);
   newMemo.Parent := newTabsheet;
   newMemo.Align := alClient;
   newMemo.WantTabs := True;
   newMemo.HideSelection := True;
   newMemo.OnChange := @newMemoChange;
   newMemo.OnDragDrop := @NewMemoDragDrop;
   newMemo.OnDragOver := @NewMemoDragOver;
   newMemo.ParentShowHint := False;
   newMemo.ShowHint := False;
   newMemo.PopupMenu := puEditor;
   newMemo.Modified := False;
   finally
   Screen.Cursor := crDefault;
   end;
end;
All things considered insanity seems the best option

 

TinyPortal © 2005-2018