| /************************************************************** |
| * |
| * 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 _BIB_GENERAL_HXX |
| #define _BIB_GENERAL_HXX |
| |
| #include <com/sun/star/awt/XFocusListener.hpp> |
| #include <com/sun/star/awt/XControlContainer.hpp> |
| //#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_ |
| //#include <com/sun/star/lang/XMultiServiceFactory.hpp> |
| //#endif |
| #include <com/sun/star/form/XBoundComponent.hpp> |
| #include <com/sun/star/sdbc/XRowSetListener.hpp> |
| #include <svtools/stdctrl.hxx> |
| |
| #ifndef _LSTBOX_HXX //autogen |
| #include <vcl/lstbox.hxx> |
| #endif |
| #include <vcl/group.hxx> |
| #include <svtools/svmedit.hxx> |
| #include <vcl/tabpage.hxx> |
| #include <vcl/combobox.hxx> |
| #include <vcl/scrbar.hxx> |
| #include <cppuhelper/implbase1.hxx> // helper for implementations |
| #include "bibshortcuthandler.hxx" |
| |
| |
| class BibDataManager; |
| #define TYPE_COUNT 22 |
| #define FIELD_COUNT 31 |
| |
| typedef cppu::WeakAggImplHelper1 < ::com::sun::star::awt::XFocusListener > BibGeneralPageBaseClass; |
| |
| class BibGeneralPage: public BibGeneralPageBaseClass, public BibTabPage |
| { |
| Window aControlParentWin; |
| FixedText aIdentifierFT; |
| FixedText aAuthTypeFT; |
| FixedText aYearFT; |
| |
| FixedText aAuthorFT; |
| FixedText aTitleFT; |
| |
| FixedText aPublisherFT; |
| FixedText aAddressFT; |
| FixedText aISBNFT; |
| |
| FixedText aChapterFT; |
| FixedText aPagesFT; |
| FixedLine aFirstFL; |
| |
| FixedText aEditorFT; |
| FixedText aEditionFT; |
| |
| FixedText aBooktitleFT; |
| FixedText aVolumeFT; |
| FixedText aHowpublishedFT; |
| |
| FixedText aOrganizationsFT; |
| FixedText aInstitutionFT; |
| FixedText aSchoolFT; |
| |
| FixedText aReportTypeFT; |
| FixedText aMonthFT; |
| FixedLine aSecondFL; |
| |
| FixedText aJournalFT; |
| FixedText aNumberFT; |
| FixedText aSeriesFT; |
| |
| FixedText aAnnoteFT; |
| FixedText aNoteFT; |
| FixedText aURLFT; |
| FixedLine aThirdFL; |
| |
| FixedText aCustom1FT; |
| FixedText aCustom2FT; |
| FixedText aCustom3FT; |
| FixedText aCustom4FT; |
| FixedText aCustom5FT; |
| |
| ScrollBar aHoriScroll; |
| ScrollBar aVertScroll; |
| |
| FixedText* aFixedTexts[ FIELD_COUNT ]; |
| sal_Int16 nFT2CtrlMap[ FIELD_COUNT ]; |
| |
| ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > |
| aControls[ FIELD_COUNT ]; |
| |
| Size aStdSize; |
| Point aBasePos; |
| |
| String aBibTypeArr[ TYPE_COUNT ]; |
| String sErrorPrefix; |
| String sTableErrorString; |
| |
| String sTypeColumnName; |
| |
| ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer > |
| xCtrlContnr; |
| |
| ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > |
| xMgr; |
| |
| ::com::sun::star::uno::Reference< ::com::sun::star::form::XBoundComponent > |
| xCurrentBoundComponent; |
| |
| ::com::sun::star::uno::Reference< ::com::sun::star::form::XBoundComponent > |
| xLBModel; |
| |
| ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSetListener > |
| xPosListener; |
| |
| |
| BibDataManager* pDatMan; |
| |
| ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > |
| AddXControl( const String& rName, Point aPos, Size aSize, const rtl::OString& sHelpId, |
| sal_Int16& rIndex ); |
| |
| void AddControlWithError( const rtl::OUString& rColumnName, const Point& rPos, |
| const Size& rSize, String& rErrorString, String aColumnUIName, |
| const rtl::OString& sHelpId, sal_uInt16 nIndexInFTArray ); |
| |
| void AdjustScrollbars(); |
| |
| DECL_LINK( ScrollHdl, ScrollBar* ); |
| |
| protected: |
| virtual void Resize(); |
| void InitFixedTexts( void ); // create mnemonics and set text an all fixed texts |
| |
| public: |
| BibGeneralPage(Window* pParent, BibDataManager* pDatMan); |
| virtual ~BibGeneralPage(); |
| |
| inline const String& GetErrorString() const; |
| |
| inline const ::com::sun::star::uno::Reference< ::com::sun::star::form::XBoundComponent >& |
| GetTypeListBoxModel() const; |
| inline const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >& |
| GetControlContainer() const; |
| |
| inline BibDataManager* GetDataManager(); |
| |
| void CommitActiveControl(); |
| |
| virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw( com::sun::star::uno::RuntimeException ); |
| |
| void SAL_CALL focusGained( const ::com::sun::star::awt::FocusEvent& e ) throw( com::sun::star::uno::RuntimeException ); |
| void SAL_CALL focusLost( const ::com::sun::star::awt::FocusEvent& e ) throw( com::sun::star::uno::RuntimeException ); |
| |
| void RemoveListeners(); |
| |
| virtual void GetFocus(); |
| |
| virtual sal_Bool HandleShortCutKey( const KeyEvent& rKeyEvent ); // returns true, if key was handled |
| }; |
| |
| |
| inline const String& BibGeneralPage::GetErrorString() const |
| { |
| return sTableErrorString; |
| } |
| |
| inline const ::com::sun::star::uno::Reference< ::com::sun::star::form::XBoundComponent >& |
| BibGeneralPage::GetTypeListBoxModel() const |
| { |
| return xLBModel; |
| } |
| |
| inline const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >& |
| BibGeneralPage::GetControlContainer() const |
| { |
| return xCtrlContnr; |
| } |
| |
| inline BibDataManager* BibGeneralPage::GetDataManager() |
| { |
| return pDatMan; |
| } |
| |
| #endif |
| |
| |