BerndPol Overview of &tdevelop; Features &tdevelop; survey overall view survey &tdevelop; integrates a lot of tools, scripts, and templates in a common user interface. Basically it consists of several user interface modes from which you can select the look and feel of the workspace, an &appwizard; which aids you in setting up a new project, several project management systems which aid in building and managing your project, some editing tools to easily work on your program texts various file browsers providing you different views on your file system, various class browsers to aid you in maintaining the classes and their relationships of your object-oriented programming project, a debugger interface to find and remove program errors from within &tdevelop;, and several plugin tools, extensible modules which can be loaded at runtime and on demand. This allows you to only turn on those features you really need. a set of other diagnosis, documentation, and optimization helper tools. In fact there are three &tdevelop;-based applications: The &tdevelop; IDE — this is the place where you will usually work. The stand-alone &tdevelop; Assistant documentation browser — isolates all the powerful documentation facilities of the &tdevelop; IDE in a separate tool. This comes in handy when you want to look up some programming documentation but do not want to start the full IDE. The &tdevelop; Designer — enhances the &Qt; User Interface Designer by &kde; specific elements and integrates nicely in the &tdevelop; IDE. Available User Interface Modes &tdevelop; user interface modes user interface &tdevelop; modes UI modes Child Frame Windows Tabbed Pages Toplevel Windows IDEAl &tdevelop; offers developers four separate user interface modes (click on the mode name to view an example): IDEAl This is a novel user interface approach optimizing both work space and intuitive handling of the tools. All tool views are docked in a tabbar fashion around the mainframe area. They are grouped left, bottom, and right according to the services provided. Editor and browser views will be stacked in a big sized tabbed window inmidst the mainframe area. Child Frame Windows All tool views are initially docked to the mainframe. Editor and browser views will live like toplevel windows within a view area of the mainframe. Tabbed Pages All tool views are initially docked to the mainframe. Editor and browser views will be stacked in a tabbed window. Toplevel Windows All editor, browser, and tool views will be toplevel windows directly on the desktop. The main widget only contains the menu, toolbars, and statusbar. How to Switch User Interface Modes user interface switch modes switch UI modes To switch the user interface mode select Settings Configure KDevelop... from the menus. The Customize KDevelop dialog will pop up, where you have to select User Interface in the left hand tree. This will display the settings page shown below. Select a user interface mode (Older &tdevelop; versions provide the top mode selection section only.) In the Major User-Interface Mode section select the radio button of the user interface mode you want to work in. Dependent on the user interface mode you selected, other configuration sections will become available where you can taylor more details of the look and feel to your preferences. See the Selecting the User Interface chapter for more detail. Do not forget to restart &tdevelop; in order to let your selections take effect. How to Maximize the Work Space Area &tdevelop; work space &tdevelop; maximize work space user interface work space user interface menubar user interface full screen mode full screen mode menubar hide/unhide hide menubar unhide menubar To maximize space, there is a full-screen window mode available which expands the mainframe area to the screen borders. Additional space can be reclaimed by hiding the menubar. And you can of course hide any toolbar as usual in KDE applications. Full Screen Mode To switch to or from full screen mode select View Full-Screen Mode from the menus or press &Ctrl;&Shift;F . There is also a Full-Screen Mode icon in the Browse Toolbar available. Hide/Unhide the Menubar To hide the menubar select Settings Show Menubar from the menus or press &Ctrl;M . You may also include a Show Menubar icon in a suiting toolbar, ⪚ the Browse Toolbar for that purpose. To unhide the menubar you must press &Ctrl;M or use the Show Menubar icon if available. Elements of the User Interface (... to be written ...) The Workarea (... to be written ...) The &tdevelop; Titlebar (... to be written ...) The &tdevelop; Statusbar (... to be written ...) The menubar (... to be written ...) The Toolbars (... to be written ...) The Tree Tool Views (... to be written ...) The Output Tool Views (... to be written ...) Project Management Systems project management Globally, a project will rely on some form of project management system. &tdevelop; offers four project management systems the programmer can select from when creating a new project. Automake projects use the &GNU; standard development tools. QMake projects use the trolltech QMake project manager. ANT projects use the Apache ANT project manager for &Java; development. Custom projects require you to maintain your own Makefiles. Automake Projects projects automake automake projects Projects created with &tdevelop;'s &automanag; make it very easy for developers to use the &GNU; standard development tools. They provide a better way of Makefile generation and a good and safe way for fast adaption towards different systems by autoconf-generated configure scripts. QMake Projects projects qmake qmake projects For developers who enjoy the flexibility and feel of &Qt;'s qmake system, &tdevelop; offers the ability to handle qmake based projects (.pro files) within the &GUI;. For more information on the QMake project manager see the qmake User Guide which should be included in your distribution or have a look at the TROLLTECH Documentation home page where you may find the QMake documentation of your Qt C++ GUI Application Development Toolkit version. CMake Projects projects cmake cmake projects CMake will be the &kde; build system for &kde; 4 and &tdevelop; already provides you some CMake based templates in C and C++. You only need the cmake program in your $PATH to build them. To set up a new C or C++ project in &tdevelop; select Project New Project... C or C++ CMake based projects A shared library template or Hello world program . ANT Projects (&Java; Projects) projects ant ant projects projects Java Java projects development Java &Java; developers may want to use the Apache ANT project manager for their projects. To set up a new Ant project in &tdevelop; select Project New Project... Java Ant Project Application. For more information see The Apache Ant Project home page. Custom Projects projects custom custom projects Makefile custom projects If you prefer to maintain your own Makefiles for your project you may use the custom project option of &tdevelop;. This may be feasible in unusually structured projects or if you want to retain full control over the make process. Yet, if you do not really need the extra flexibility and control of the custom project manager you should consider &automanag; or one of the other project managers, because they considerably ease the program building and distribution processes. How to Distribute Your Application distribution application distribution binary packages The distribution of your applications does not require the end-user to have anything different installed other than an appropriate compiler, a linker, and the appropriate development libraries, which at least for C++ applications is most often the case. But you can as well distribute binary packages of your application. In either way, the end-user of your product does not need &tdevelop; installed. For giving away your sources, we advise to include the project file of &tdevelop; as well. This makes it very easy for other developers—if they use &tdevelop;—to work with your sources. For projects where several developers, maybe working on different places, are involved, this should be the case anyway. So you can ensure consistency of the Makefiles to not run into trouble. Especially on multi language applications, translators won't actually work with the source code, except in cases that require correction for enabling translation support.