/** File : xsldbginspector.cpp Author : Keith Isdale Date : 30th March 2002 Description : Dialog to inspect stylesheet using xsldbg. Based on file created by uic */ #include "xsldbginspector.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "xsldbgdebugger.h" #include "xsldbgbreakpointsimpl.h" #include "xsldbglocalvariablesimpl.h" #include "xsldbgcallstackimpl.h" #include "xsldbgtemplatesimpl.h" #include "xsldbgsourcesimpl.h" #include "xsldbgentitiesimpl.h" static TQPixmap uic_load_pixmap_XsldbgInspector( const TQString &name ) { const TQMimeSource *m = TQMimeSourceFactory::defaultFactory()->data( name ); if ( !m ) return TQPixmap(); TQPixmap pix; TQImageDrag::decode( m, pix ); return pix; } /* * Constructs a XsldbgInspector which is a child of 'parent', with the * name 'name' and widget flags set to 'f'. * * The dialog will by default be modeless, unless you set 'modal' to * true to construct a modal dialog. */ XsldbgInspector::XsldbgInspector( XsldbgDebugger *debugger, TQWidget* parent, const char* name, bool modal, WFlags fl ) : TQDialog( parent, name, modal, fl ) { TQ_CHECK_PTR(debugger); this->debugger = debugger; breakpointWidget = 0L; localWidget = 0L; callStackWidget = 0L; templateWidget = 0L; sourceWidget = 0L; entityWidget = 0L; if ( !name ) setName( "XsldbgInspector" ); resize( 597, 364 ); setCaption( i18n( "Xsldbg Inspector" ) ); setSizeGripEnabled( true ); XsldbgInspectorLayout = new TQGridLayout( this, 1, 1, 11, 6, "XsldbgInspectorLayout"); tabWidget = new TQTabWidget( this, "tabWidget" ); TQ_CHECK_PTR( tabWidget ); breakpointWidget = new XsldbgBreakpointsImpl( debugger, tabWidget ); TQ_CHECK_PTR( breakpointWidget ); tabWidget->insertTab( breakpointWidget, i18n( "Breakpoints" ) ); localWidget = new XsldbgLocalVariablesImpl( debugger, tabWidget ); TQ_CHECK_PTR( localWidget ); tabWidget->insertTab( localWidget, TQIconSet( uic_load_pixmap_XsldbgInspector( "xsldbg_source.png" ) ), i18n( "Variables" ) ); callStackWidget = new XsldbgCallStackImpl( debugger, tabWidget ); TQ_CHECK_PTR( callStackWidget ); tabWidget->insertTab( callStackWidget, TQIconSet( uic_load_pixmap_XsldbgInspector( "xsldbg_source.png" ) ), i18n( "CallStack" )); templateWidget = new XsldbgTemplatesImpl( debugger, tabWidget ); TQ_CHECK_PTR( templateWidget ); tabWidget->insertTab( templateWidget, TQIconSet( uic_load_pixmap_XsldbgInspector( "xsldbg_source.png" ) ), i18n( "Templates" )); sourceWidget = new XsldbgSourcesImpl( debugger, tabWidget ); TQ_CHECK_PTR( sourceWidget ); tabWidget->insertTab( sourceWidget, TQIconSet( uic_load_pixmap_XsldbgInspector( "xsldbg_source.png" ) ), i18n( "Sources" )); entityWidget = new XsldbgEntitiesImpl( debugger, tabWidget ); TQ_CHECK_PTR( entityWidget ); tabWidget->insertTab( entityWidget, TQIconSet( uic_load_pixmap_XsldbgInspector( "xsldbg_data.png" ) ), i18n( "Entities" )); XsldbgInspectorLayout->addWidget( tabWidget, 0, 1 ); Layout1 = new TQHBoxLayout( 0, 0, 6, "Layout1"); buttonHelp = new KPushButton( KStdGuiItem::help(), this, "buttonHelp" ); buttonHelp->setAccel( 4144 ); buttonHelp->setAutoDefault( true ); Layout1->addWidget( buttonHelp ); TQSpacerItem* spacer = new TQSpacerItem( 20, 20, TQSizePolicy::Expanding, TQSizePolicy::Minimum ); Layout1->addItem( spacer ); buttonOk = new KPushButton( KStdGuiItem::ok(), this, "buttonOk" ); buttonOk->setAccel( 0 ); buttonOk->setAutoDefault( true ); buttonOk->setDefault( true ); Layout1->addWidget( buttonOk ); buttonApply = new KPushButton( KStdGuiItem::apply(), this, "buttonApply" ); TQToolTip::add(buttonApply, i18n("Apply changes to xsldbg after restarting execution")); buttonApply->setAccel( 0 ); buttonApply->setAutoDefault( true ); buttonApply->setDefault( true ); Layout1->addWidget( buttonApply ); buttonRefresh = new TQPushButton( this, "buttonRefresh" ); buttonRefresh->setText( i18n( "&Refresh" ) ); TQToolTip::add(buttonRefresh, i18n("Refresh values in inspectors from xsldbg")); buttonRefresh->setAccel( 0 ); buttonRefresh->setAutoDefault( true ); buttonRefresh->setDefault( true ); Layout1->addWidget( buttonRefresh ); buttonCancel = new KPushButton( KStdGuiItem::cancel(), this, "buttonCancel" ); buttonCancel->setAccel( 0 ); buttonCancel->setAutoDefault( true ); Layout1->addWidget( buttonCancel ); XsldbgInspectorLayout->addMultiCellLayout( Layout1, 1, 1, 0, 1 ); // signals and slots connections connect( buttonOk, TQ_SIGNAL( clicked() ), this, TQ_SLOT( accept() ) ); connect( buttonApply, TQ_SIGNAL ( clicked() ), this, TQ_SLOT ( update() ) ); connect( buttonRefresh, TQ_SIGNAL ( clicked() ), this, TQ_SLOT ( refresh() ) ); connect( buttonCancel, TQ_SIGNAL( clicked() ), this, TQ_SLOT( reject() ) ); hide(); } /* * Destroys the object and frees any allocated resources */ XsldbgInspector::~XsldbgInspector() { debugger = 0L; // no need to delete child widgets, TQt does it all for us } void XsldbgInspector::accept() { TQDialog::accept(); } void XsldbgInspector::reject() { TQDialog::reject(); } void XsldbgInspector::refresh() { refreshBreakpoints(); refreshVariables(); if ( templateWidget != 0L) templateWidget->refresh(); if ( sourceWidget != 0L) sourceWidget->refresh(); if ( entityWidget != 0L) entityWidget->refresh(); } void XsldbgInspector::refreshBreakpoints() { if ( breakpointWidget != 0L ) breakpointWidget->refresh(); } void XsldbgInspector::refreshVariables() { if ( localWidget != 0L ) localWidget->refresh(); if (callStackWidget != 0L) callStackWidget->refresh(); } #include "xsldbginspector.moc"