KDevelop API Documentation

languages/cpp/debugger/debuggerconfigwidgetbase.cpp

Go to the documentation of this file.
00001 #include <kdialog.h> 00002 #include <klocale.h> 00003 /**************************************************************************** 00004 ** Form implementation generated from reading ui file './debuggerconfigwidgetbase.ui' 00005 ** 00006 ** Created: Wed Oct 6 17:28:29 2004 00007 ** by: The User Interface Compiler ($Id: qt/main.cpp 3.3.3 edited Nov 24 2003 $) 00008 ** 00009 ** WARNING! All changes made in this file will be lost! 00010 ****************************************************************************/ 00011 00012 #include "debuggerconfigwidgetbase.h" 00013 00014 #include <qvariant.h> 00015 #include <kdialog.h> 00016 #include <qpushbutton.h> 00017 #include <qcheckbox.h> 00018 #include <qlineedit.h> 00019 #include <qgroupbox.h> 00020 #include <qlabel.h> 00021 #include <kurlrequester.h> 00022 #include <qlayout.h> 00023 #include <qtooltip.h> 00024 #include <qwhatsthis.h> 00025 00026 /* 00027 * Constructs a DebuggerConfigWidgetBase as a child of 'parent', with the 00028 * name 'name' and widget flags set to 'f'. 00029 */ 00030 DebuggerConfigWidgetBase::DebuggerConfigWidgetBase( QWidget* parent, const char* name, WFlags fl ) 00031 : QWidget( parent, name, fl ) 00032 { 00033 if ( !name ) 00034 setName( "debugger_config_widget" ); 00035 debugger_config_widgetLayout = new QGridLayout( this, 1, 1, KDialog::marginHint(), KDialog::spacingHint(), "debugger_config_widgetLayout"); 00036 Spacer2_2 = new QSpacerItem( 270, 16, QSizePolicy::Minimum, QSizePolicy::Expanding ); 00037 debugger_config_widgetLayout->addItem( Spacer2_2, 11, 2 ); 00038 00039 dbgTerminal_box = new QCheckBox( this, "dbgTerminal_box" ); 00040 00041 debugger_config_widgetLayout->addMultiCellWidget( dbgTerminal_box, 8, 8, 0, 2 ); 00042 00043 programArgs_edit = new QLineEdit( this, "programArgs_edit" ); 00044 00045 debugger_config_widgetLayout->addMultiCellWidget( programArgs_edit, 0, 0, 1, 2 ); 00046 00047 breakOnLoadingLibrary_box = new QCheckBox( this, "breakOnLoadingLibrary_box" ); 00048 00049 debugger_config_widgetLayout->addMultiCellWidget( breakOnLoadingLibrary_box, 6, 6, 0, 2 ); 00050 00051 enableFloatingToolBar_box = new QCheckBox( this, "enableFloatingToolBar_box" ); 00052 00053 debugger_config_widgetLayout->addMultiCellWidget( enableFloatingToolBar_box, 7, 7, 0, 2 ); 00054 00055 asmDemangle_box = new QCheckBox( this, "asmDemangle_box" ); 00056 00057 debugger_config_widgetLayout->addMultiCellWidget( asmDemangle_box, 5, 5, 0, 2 ); 00058 00059 displayStaticMembers_box = new QCheckBox( this, "displayStaticMembers_box" ); 00060 00061 debugger_config_widgetLayout->addMultiCellWidget( displayStaticMembers_box, 4, 4, 0, 1 ); 00062 Spacer2_2_2 = new QSpacerItem( 270, 16, QSizePolicy::Minimum, QSizePolicy::Minimum ); 00063 debugger_config_widgetLayout->addMultiCell( Spacer2_2_2, 3, 3, 1, 2 ); 00064 00065 groupBox1 = new QGroupBox( this, "groupBox1" ); 00066 groupBox1->setColumnLayout(0, Qt::Vertical ); 00067 groupBox1->layout()->setSpacing( KDialog::spacingHint() ); 00068 groupBox1->layout()->setMargin( KDialog::marginHint() ); 00069 groupBox1Layout = new QGridLayout( groupBox1->layout() ); 00070 groupBox1Layout->setAlignment( Qt::AlignTop ); 00071 00072 runShellScript_label = new QLabel( groupBox1, "runShellScript_label" ); 00073 00074 groupBox1Layout->addWidget( runShellScript_label, 1, 0 ); 00075 00076 configGdbScript_label = new QLabel( groupBox1, "configGdbScript_label" ); 00077 00078 groupBox1Layout->addWidget( configGdbScript_label, 0, 0 ); 00079 00080 configGdbScript_edit = new QLineEdit( groupBox1, "configGdbScript_edit" ); 00081 00082 groupBox1Layout->addWidget( configGdbScript_edit, 0, 1 ); 00083 00084 runShellScript_edit = new QLineEdit( groupBox1, "runShellScript_edit" ); 00085 00086 groupBox1Layout->addWidget( runShellScript_edit, 1, 1 ); 00087 00088 runGdbScript_edit = new QLineEdit( groupBox1, "runGdbScript_edit" ); 00089 00090 groupBox1Layout->addWidget( runGdbScript_edit, 2, 1 ); 00091 00092 runGdbScript_label = new QLabel( groupBox1, "runGdbScript_label" ); 00093 00094 groupBox1Layout->addWidget( runGdbScript_label, 2, 0 ); 00095 00096 debugger_config_widgetLayout->addMultiCellWidget( groupBox1, 10, 10, 0, 2 ); 00097 Spacer2 = new QSpacerItem( 260, 16, QSizePolicy::Minimum, QSizePolicy::Minimum ); 00098 debugger_config_widgetLayout->addMultiCell( Spacer2, 9, 9, 1, 2 ); 00099 00100 programArgs_label = new QLabel( this, "programArgs_label" ); 00101 programArgs_label->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)4, (QSizePolicy::SizeType)5, 0, 0, programArgs_label->sizePolicy().hasHeightForWidth() ) ); 00102 00103 debugger_config_widgetLayout->addWidget( programArgs_label, 0, 0 ); 00104 00105 debuggingShell_label = new QLabel( this, "debuggingShell_label" ); 00106 debuggingShell_label->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)4, (QSizePolicy::SizeType)5, 0, 0, debuggingShell_label->sizePolicy().hasHeightForWidth() ) ); 00107 00108 debugger_config_widgetLayout->addWidget( debuggingShell_label, 1, 0 ); 00109 00110 debuggingShell_edit = new KURLRequester( this, "debuggingShell_edit" ); 00111 00112 debugger_config_widgetLayout->addMultiCellWidget( debuggingShell_edit, 1, 1, 1, 2 ); 00113 00114 gdbPath_label = new QLabel( this, "gdbPath_label" ); 00115 gdbPath_label->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)4, (QSizePolicy::SizeType)5, 0, 0, gdbPath_label->sizePolicy().hasHeightForWidth() ) ); 00116 00117 debugger_config_widgetLayout->addWidget( gdbPath_label, 2, 0 ); 00118 00119 gdbPath_edit = new KURLRequester( this, "gdbPath_edit" ); 00120 00121 debugger_config_widgetLayout->addMultiCellWidget( gdbPath_edit, 2, 2, 1, 2 ); 00122 languageChange(); 00123 resize( QSize(557, 374).expandedTo(minimumSizeHint()) ); 00124 clearWState( WState_Polished ); 00125 00126 // tab order 00127 setTabOrder( programArgs_edit, debuggingShell_edit ); 00128 setTabOrder( debuggingShell_edit, gdbPath_edit ); 00129 setTabOrder( gdbPath_edit, displayStaticMembers_box ); 00130 setTabOrder( displayStaticMembers_box, asmDemangle_box ); 00131 setTabOrder( asmDemangle_box, breakOnLoadingLibrary_box ); 00132 setTabOrder( breakOnLoadingLibrary_box, enableFloatingToolBar_box ); 00133 setTabOrder( enableFloatingToolBar_box, dbgTerminal_box ); 00134 setTabOrder( dbgTerminal_box, configGdbScript_edit ); 00135 setTabOrder( configGdbScript_edit, runShellScript_edit ); 00136 setTabOrder( runShellScript_edit, runGdbScript_edit ); 00137 00138 // buddies 00139 runShellScript_label->setBuddy( debuggingShell_edit ); 00140 configGdbScript_label->setBuddy( programArgs_edit ); 00141 runGdbScript_label->setBuddy( gdbPath_edit ); 00142 programArgs_label->setBuddy( programArgs_edit ); 00143 debuggingShell_label->setBuddy( debuggingShell_edit ); 00144 gdbPath_label->setBuddy( gdbPath_edit ); 00145 } 00146 00147 /* 00148 * Destroys the object and frees any allocated resources 00149 */ 00150 DebuggerConfigWidgetBase::~DebuggerConfigWidgetBase() 00151 { 00152 // no need to delete child widgets, Qt does it all for us 00153 } 00154 00155 /* 00156 * Sets the strings of the subwidgets using the current 00157 * language. 00158 */ 00159 void DebuggerConfigWidgetBase::languageChange() 00160 { 00161 setCaption( tr2i18n( "Debugger Configuration" ) ); 00162 dbgTerminal_box->setText( tr2i18n( "Enable separate &terminal for application IO" ) ); 00163 QWhatsThis::add( dbgTerminal_box, tr2i18n( "This allows you to enter terminal input when your\n" 00164 "application contains terminal input code (e.g. cin, fgets, etc.).\n" 00165 "If you use terminal input in your application then check this option.\n" 00166 "Otherwise leave it unchecked." ) ); 00167 programArgs_edit->setText( QString::null ); 00168 breakOnLoadingLibrary_box->setText( tr2i18n( "Try settings &breakpoints on library loading" ) ); 00169 QWhatsThis::add( breakOnLoadingLibrary_box, tr2i18n( "If GDB hasn't seen a library that will be loaded via\n" 00170 "\"dlopen\" then it will refuse to set a breakpoint in that code.\n" 00171 "We can get GDB to stop on a library load and hence\n" 00172 "try to set the pending breakpoints. See the documentation\n" 00173 "for more details relating to this behavior.\n" 00174 "\n" 00175 "If you are not \"dlopen\"ing libs then leave this unchecked." ) ); 00176 enableFloatingToolBar_box->setText( tr2i18n( "Enable &floating toolbar" ) ); 00177 QWhatsThis::add( enableFloatingToolBar_box, tr2i18n( "Use the floating toolbar. This toolbar always stays\n" 00178 "on top of all windows so that if the app covers KDevelop\n" 00179 "you have control of the app through the small toolbar. It\n" 00180 "can also be docked into the panel.\n" 00181 "\n" 00182 "This toolbar is in addition to the toolbar in KDevelop." ) ); 00183 asmDemangle_box->setText( tr2i18n( "Display &demangled names" ) ); 00184 QWhatsThis::add( asmDemangle_box, tr2i18n( "When displaying the disassembled code you\n" 00185 "can select to see the methods' mangled names.\n" 00186 "However, non-mangled names are easier to read." ) ); 00187 displayStaticMembers_box->setText( tr2i18n( "Display static &members" ) ); 00188 QWhatsThis::add( displayStaticMembers_box, tr2i18n( "Displaying static members makes GDB slower in\n" 00189 "producing data within KDE and Qt.\n" 00190 "It may change the \"signature\" of the data\n" 00191 "which QString and friends rely on,\n" 00192 "but if you need to debug into these values then\n" 00193 "check this option." ) ); 00194 groupBox1->setTitle( tr2i18n( "Remote Debugging" ) ); 00195 runShellScript_label->setText( tr2i18n( "Run shell script:", "Shell script to be executed at run time" ) ); 00196 configGdbScript_label->setText( tr2i18n( "Config gdb script:" ) ); 00197 QToolTip::add( configGdbScript_edit, QString::null ); 00198 QToolTip::add( runShellScript_edit, tr2i18n( "Script to start remote application" ) ); 00199 QWhatsThis::add( runShellScript_edit, tr2i18n( "When debugging remotely this script is intended to actually start the remote process.\n" 00200 "[It is expected that the debug executable can be reached on the target, maybe by downloading it as a final build step]\n" 00201 "1) Find a way to execute a command remotely - rsh, ssh, telnet, ...\n" 00202 "2a) Execute \"gdbserver ... application\" on target.\n" 00203 "or if your executable contains the gdb stub\n" 00204 "2b) Execute \"application\" on target." ) ); 00205 QToolTip::add( runGdbScript_edit, tr2i18n( "Script to connect with remote application" ) ); 00206 QWhatsThis::add( runGdbScript_edit, tr2i18n( "This script is intended for the actual commands needed to connect to a remotely running executable.\n" 00207 " shell sleep 5 wait for remote program to start\n" 00208 " target remote ... connect to the remote debugger\n" 00209 " continue [optional] run debugging to the first breakpoint." ) ); 00210 runGdbScript_label->setText( tr2i18n( "Run gdb script:", "Gdb script to be executed at run time." ) ); 00211 programArgs_label->setText( tr2i18n( "Program &arguments:" ) ); 00212 QWhatsThis::add( programArgs_label, tr2i18n( "Arguments that are given to the application when it is debugged." ) ); 00213 debuggingShell_label->setText( tr2i18n( "Debugging &shell:" ) ); 00214 gdbPath_label->setText( tr2i18n( "Path to &gdb:" ) ); 00215 } 00216 00217 #include "debuggerconfigwidgetbase.moc"
KDE Logo
This file is part of the documentation for KDevelop Version 3.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Oct 6 17:39:01 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003