Difference between revisions of "TTDINotebook"

From Lazarus wiki
Jump to navigationJump to search
Line 2: Line 2:
  
 
== About ==
 
== About ==
* A Tabbed GUI Interface  
+
'''* A Tabbed GUI Interface'''
 
 
  
 
Lazarus does not have full support for MDI interface yet, and commercial applications need to open several windows at once without ShowModal.
 
Lazarus does not have full support for MDI interface yet, and commercial applications need to open several windows at once without ShowModal.
Line 13: Line 12:
 
I used '''TExtendedNotebook''' as a base component, introducing new methods and properties to provide support for TDI. Very few changes will be needed in your code, and component '''TTDINotebook''' will handle the entire process of creation and destruction of the tabs and menus automatically.
 
I used '''TExtendedNotebook''' as a base component, introducing new methods and properties to provide support for TDI. Very few changes will be needed in your code, and component '''TTDINotebook''' will handle the entire process of creation and destruction of the tabs and menus automatically.
  
=== Author ===
+
== Author ==
 
Author: [[User:Dopidaniel|Daniel Simões de Almeida]]  
 
Author: [[User:Dopidaniel|Daniel Simões de Almeida]]  
  
=== License ===
+
== License ==
 
[http://www.opensource.org/licenses/lgpl-license.php LGPL]
 
[http://www.opensource.org/licenses/lgpl-license.php LGPL]
 +
 +
== Key Features ==
 +
* Automatically takes care of Creation and Destruction of the tabs,
 +
* Automatically takes care of Main Menu Items related to tabs
 +
* Automatically Close the tabs when the Internal Form is Closed or Destroyed
 +
* Allows you to display a background image in a corner of the Form
 +
* Respects the ''Max Constraint'' of Internal Forms, centralizing it on the Tab
 +
* Respects the Internal Forms ''OnCloseQuery'' event when closing a Tab
 +
* Allows customization of Labels and Images of the Menu Items Tabs
 +
* Allow to close Tabs with Mouse Middle Button
 +
* Allows Close All Tabs
  
 
== Download ==
 
== Download ==
Line 28: Line 38:
 
== Dependencies / System Requirements ==
 
== Dependencies / System Requirements ==
 
* None
 
* None
 +
 +
== Screenshot ==
 +
* [[Image:tdi1.jpg]]
 +
<br>
 +
* [[Image:tdi2.jpg]]
  
 
== Installation ==
 
== Installation ==
Line 35: Line 50:
  
 
== How to Use ==
 
== How to Use ==
* Drop a TTDINotebook in your Main Form
+
* Please open Project '''tdi\Demo\TDIDemo.lpi'''
* Create your child Forms as usual
+
* I believe studying the sources and observing the Demo working is the best way to explain the component
 
 
== Key Features ==
 
  
== Screenshot ==
+
== Methods and Properties ==
* [[Image:tdi1.jpg]]
 
<br>
 
* [[Image:tdi2.jpg]]
 
  
 
== Note ==
 
== Note ==
  
 
[[Category:Components]]
 
[[Category:Components]]

Revision as of 15:50, 29 May 2012

Template:Translate

About

* A Tabbed GUI Interface

Lazarus does not have full support for MDI interface yet, and commercial applications need to open several windows at once without ShowModal.

However, the MDI interface concept has several problems, which may confuse the novice user. A more complete study on the advantages and disadvantages of the MDI can be found at wikipedia

The intention of this component is to provide a simple way to create an TDI interface, similar to that described in Wikipedia.

I used TExtendedNotebook as a base component, introducing new methods and properties to provide support for TDI. Very few changes will be needed in your code, and component TTDINotebook will handle the entire process of creation and destruction of the tabs and menus automatically.

Author

Author: Daniel Simões de Almeida

License

LGPL

Key Features

  • Automatically takes care of Creation and Destruction of the tabs,
  • Automatically takes care of Main Menu Items related to tabs
  • Automatically Close the tabs when the Internal Form is Closed or Destroyed
  • Allows you to display a background image in a corner of the Form
  • Respects the Max Constraint of Internal Forms, centralizing it on the Tab
  • Respects the Internal Forms OnCloseQuery event when closing a Tab
  • Allows customization of Labels and Images of the Menu Items Tabs
  • Allow to close Tabs with Mouse Middle Button
  • Allows Close All Tabs

Download

 On Windows you can use TortoiseSVN
 On Linux, use:  svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/tdi

Dependencies / System Requirements

  • None

Screenshot

  • tdi1.jpg


  • tdi2.jpg

Installation

  • Download the package on a directory of your preference
  • Open Package File: tdi.lpk.
  • Install the Package and let Lazarus rebuild.

How to Use

  • Please open Project tdi\Demo\TDIDemo.lpi
  • I believe studying the sources and observing the Demo working is the best way to explain the component

Methods and Properties

Note