/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef OPTIMIZERDIALOG_HXX #define OPTIMIZERDIALOG_HXX #ifndef _OPTIMIZERDIALOG_HRC #include "optimizerdialog.hrc" #endif #include #include "unodialog.hxx" #include "pppoptimizertoken.hxx" #include "optimizationstats.hxx" #include "configurationaccess.hxx" #include #include #include #include #include #include #include #include #include #include #include #include #include #ifndef _COM_SUN_STAR_UTIL_XCloseListener_HPP_ #include #endif #include #include #include #include #define MAX_STEP 4 #define OD_DIALOG_WIDTH 330 #define DIALOG_HEIGHT 210 #define BUTTON_WIDTH 50 #define BUTTON_HEIGHT 14 #define BUTTON_POS_Y DIALOG_HEIGHT - BUTTON_HEIGHT - 6 #define PAGE_POS_X 91 #define PAGE_POS_Y 8 #define PAGE_WIDTH OD_DIALOG_WIDTH - PAGE_POS_X // ------------------- // - OPTIMIZERDIALOG - // ------------------- class OptimizerDialog : public UnoDialog, public ConfigurationAccess { public : OptimizerDialog( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rxFrame, com::sun::star::uno::Reference< com::sun::star::frame::XDispatch > rxStatusDispatcher ); ~OptimizerDialog(); sal_Bool execute(); sal_Int16 mnCurrentStep; sal_Int16 mnTabIndex; sal_Bool mbIsReadonly; private : com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >mxMSF; com::sun::star::uno::Reference< com::sun::star::frame::XFrame > mxFrame; com::sun::star::uno::Reference< com::sun::star::uno::XInterface > mxRoadmapControl; com::sun::star::uno::Reference< com::sun::star::uno::XInterface > mxRoadmapControlModel; com::sun::star::uno::Reference< com::sun::star::awt::XItemListener > mxItemListener; com::sun::star::uno::Reference< com::sun::star::awt::XActionListener > mxActionListener; com::sun::star::uno::Reference< com::sun::star::awt::XActionListener > mxActionListenerListBox0Pg0; com::sun::star::uno::Reference< com::sun::star::awt::XTextListener > mxTextListenerFormattedField0Pg1; com::sun::star::uno::Reference< com::sun::star::awt::XTextListener > mxTextListenerComboBox0Pg1; com::sun::star::uno::Reference< com::sun::star::awt::XSpinListener > mxSpinListenerFormattedField0Pg1; com::sun::star::uno::Reference< com::sun::star::frame::XDispatch > mxStatusDispatcher; std::vector< std::vector< rtl::OUString > > maControlPages; void InitDialog(); void InitRoadmap(); void InitNavigationBar(); void InitPage0(); void InitPage1(); void InitPage2(); void InitPage3(); void InitPage4(); void UpdateControlStatesPage0(); void UpdateControlStatesPage1(); void UpdateControlStatesPage2(); void UpdateControlStatesPage3(); void UpdateControlStatesPage4(); void ActivatePage( sal_Int16 nStep ); void DeactivatePage( sal_Int16 nStep ); void InsertRoadmapItem( const sal_Int32 nIndex, const sal_Bool bEnabled, const rtl::OUString& rLabel, const sal_Int32 nItemID ); public : OptimizationStats maStats; void UpdateStatus( const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& rStatus ); // the ConfigurationAccess is updated to actual control settings void UpdateConfiguration(); void EnablePage( sal_Int16 nStep ); void DisablePage( sal_Int16 nStep ); void SwitchPage( sal_Int16 nNewStep ); void UpdateControlStates( sal_Int16 nStep = -1 ); rtl::OUString GetSelectedString( PPPOptimizerTokenEnum eListBox ); com::sun::star::uno::Reference< com::sun::star::frame::XDispatch >& GetStatusDispatcher() { return mxStatusDispatcher; }; com::sun::star::uno::Reference< com::sun::star::frame::XFrame>& GetFrame() { return mxFrame; }; const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& GetComponentContext() { return mxMSF; }; }; // ----------------------------------------------------------------------------- class ItemListener : public ::cppu::WeakImplHelper1< com::sun::star::awt::XItemListener > { public: ItemListener( OptimizerDialog& rOptimizerDialog ) : mrOptimizerDialog( rOptimizerDialog ){}; virtual void SAL_CALL itemStateChanged( const ::com::sun::star::awt::ItemEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); private: OptimizerDialog& mrOptimizerDialog; }; // ----------------------------------------------------------------------------- class ActionListener : public ::cppu::WeakImplHelper1< com::sun::star::awt::XActionListener > { public: ActionListener( OptimizerDialog& rOptimizerDialog ) : mrOptimizerDialog( rOptimizerDialog ){}; virtual void SAL_CALL actionPerformed( const ::com::sun::star::awt::ActionEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); private: OptimizerDialog& mrOptimizerDialog; }; // ----------------------------------------------------------------------------- class ActionListenerListBox0Pg0 : public ::cppu::WeakImplHelper1< com::sun::star::awt::XActionListener > { public: ActionListenerListBox0Pg0( OptimizerDialog& rOptimizerDialog ) : mrOptimizerDialog( rOptimizerDialog ){}; virtual void SAL_CALL actionPerformed( const ::com::sun::star::awt::ActionEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); private: OptimizerDialog& mrOptimizerDialog; }; // ----------------------------------------------------------------------------- class TextListenerFormattedField0Pg1 : public ::cppu::WeakImplHelper1< com::sun::star::awt::XTextListener > { public: TextListenerFormattedField0Pg1( OptimizerDialog& rOptimizerDialog ) : mrOptimizerDialog( rOptimizerDialog ){}; virtual void SAL_CALL textChanged( const ::com::sun::star::awt::TextEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); private: OptimizerDialog& mrOptimizerDialog; }; // ----------------------------------------------------------------------------- class TextListenerComboBox0Pg1 : public ::cppu::WeakImplHelper1< com::sun::star::awt::XTextListener > { public: TextListenerComboBox0Pg1( OptimizerDialog& rOptimizerDialog ) : mrOptimizerDialog( rOptimizerDialog ){}; virtual void SAL_CALL textChanged( const ::com::sun::star::awt::TextEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); private: OptimizerDialog& mrOptimizerDialog; }; // ----------------------------------------------------------------------------- class SpinListenerFormattedField0Pg1 : public ::cppu::WeakImplHelper1< com::sun::star::awt::XSpinListener > { public: SpinListenerFormattedField0Pg1( OptimizerDialog& rOptimizerDialog ) : mrOptimizerDialog( rOptimizerDialog ){}; virtual void SAL_CALL up( const ::com::sun::star::awt::SpinEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); virtual void SAL_CALL down( const ::com::sun::star::awt::SpinEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); virtual void SAL_CALL first( const ::com::sun::star::awt::SpinEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); virtual void SAL_CALL last( const ::com::sun::star::awt::SpinEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); private: OptimizerDialog& mrOptimizerDialog; }; // ----------------------------------------------------------------------------- class HelpCloseListener : public ::cppu::WeakImplHelper1< com::sun::star::util::XCloseListener > { public: HelpCloseListener( com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rXFrame ) : mrXFrame( rXFrame ){}; virtual void SAL_CALL addCloseListener(const com::sun::star::uno::Reference < com::sun::star::util::XCloseListener >& ) throw( com::sun::star::uno::RuntimeException ); virtual void SAL_CALL removeCloseListener( const com::sun::star::uno::Reference < com::sun::star::util::XCloseListener >& xListener ) throw( com::sun::star::uno::RuntimeException ); virtual void SAL_CALL notifyClosing( const com::sun::star::lang::EventObject& aEvent ) throw (com::sun::star::uno::RuntimeException) ; virtual void SAL_CALL queryClosing( const com::sun::star::lang::EventObject& aEvent, sal_Bool bDeliverOwnership ) throw (com::sun::star::uno::RuntimeException, com::sun::star::util::CloseVetoException) ; virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& aEvent ) throw (com::sun::star::uno::RuntimeException) ; private: com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& mrXFrame; }; #endif // OPTIMIZERDIALOG_HXX