LCOV - code coverage report
Current view: top level - libreoffice/sc/source/ui/inc - condformatdlgentry.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 15 0.0 %
Date: 2012-12-27 Functions: 0 23 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  */
       9             : 
      10             : #include "colorscale.hxx"
      11             : #include "conditio.hxx"
      12             : #include <formula/funcutl.hxx>
      13             : 
      14             : namespace condformat {
      15             : 
      16             : namespace entry {
      17             : 
      18             : enum ScCondFrmtEntryType
      19             : {
      20             :     CONDITION,
      21             :     FORMULA,
      22             :     COLORSCALE2,
      23             :     COLORSCALE3,
      24             :     DATABAR,
      25             :     ICONSET,
      26             :     DATE
      27             : };
      28             : 
      29             : }
      30             : 
      31             : }
      32             : 
      33             : class ScCondFrmtEntry : public Control
      34             : {
      35             : private:
      36             :     bool mbActive;
      37             : 
      38             :     Link maClickHdl;
      39             : 
      40             :     //general ui elements
      41             :     FixedText maFtCondNr;
      42             :     FixedText maFtCondition;
      43             : 
      44             :     sal_Int32 mnIndex;
      45             :     rtl::OUString maStrCondition;
      46             : protected:
      47             :     ListBox maLbType;
      48             : 
      49             :     ScDocument* mpDoc;
      50             :     ScAddress maPos;
      51             : 
      52             :     DECL_LINK( EdModifyHdl, Edit* );
      53             : 
      54             :     void Select();
      55             :     void Deselect();
      56             : 
      57             :     virtual rtl::OUString GetExpressionString() = 0;
      58             : 
      59             : public:
      60             :     ScCondFrmtEntry( Window* pParent, ScDocument* pDoc, const ScAddress& rPos );
      61             :     virtual ~ScCondFrmtEntry();
      62             : 
      63             :     virtual long Notify( NotifyEvent& rNEvt );
      64             : 
      65             :     bool IsSelected() const;
      66             :     void SetIndex(sal_Int32 nIndex);
      67             :     sal_Int32 GetIndex() const { return mnIndex; }
      68             :     void SetHeight();
      69             : 
      70             :     virtual ScFormatEntry* GetEntry() const = 0;
      71             :     virtual void SetActive() = 0;
      72             :     virtual void SetInactive() = 0;
      73             : 
      74             :     virtual condformat::entry::ScCondFrmtEntryType GetType() = 0;
      75             : };
      76             : 
      77           0 : class ScConditionFrmtEntry : public ScCondFrmtEntry
      78             : {
      79             :     //cond format ui elements
      80             :     ListBox maLbCondType;
      81             :     formula::RefEdit maEdVal1;
      82             :     formula::RefEdit maEdVal2;
      83             :     FixedText maFtStyle;
      84             :     ListBox maLbStyle;
      85             :     SvxFontPrevWindow maWdPreview;
      86             : 
      87             :     ScFormatEntry* createConditionEntry() const;
      88             : 
      89             :     virtual rtl::OUString GetExpressionString();
      90             :     void Init();
      91             :     DECL_LINK( StyleSelectHdl, void* );
      92             :     DECL_LINK( ConditionTypeSelectHdl, void* );
      93             : 
      94             : public:
      95             :     ScConditionFrmtEntry( Window* pParent, ScDocument* pDoc, const ScAddress& rPos, const ScCondFormatEntry* pFormatEntry = NULL );
      96             : 
      97             :     virtual ScFormatEntry* GetEntry() const;
      98             :     virtual void SetActive();
      99             :     virtual void SetInactive();
     100             : 
     101           0 :     virtual condformat::entry::ScCondFrmtEntryType GetType() { return condformat::entry::CONDITION; }
     102             : };
     103             : 
     104           0 : class ScFormulaFrmtEntry : public ScCondFrmtEntry
     105             : {
     106             :     FixedText maFtStyle;
     107             :     ListBox maLbStyle;
     108             :     SvxFontPrevWindow maWdPreview;
     109             :     formula::RefEdit maEdFormula;
     110             : 
     111             :     ScFormatEntry* createFormulaEntry() const;
     112             :     virtual rtl::OUString GetExpressionString();
     113             :     void Init();
     114             : 
     115             :     DECL_LINK( StyleSelectHdl, void* );
     116             : 
     117             : public:
     118             :     ScFormulaFrmtEntry( Window* pParent, ScDocument* PDoc, const ScAddress& rPos, const ScCondFormatEntry* pFormatEntry = NULL );
     119             : 
     120             :     virtual ScFormatEntry* GetEntry() const;
     121             :     virtual void SetActive();
     122             :     virtual void SetInactive();
     123           0 :     virtual condformat::entry::ScCondFrmtEntryType GetType() { return condformat::entry::FORMULA; }
     124             : };
     125             : 
     126           0 : class ScColorScale2FrmtEntry : public ScCondFrmtEntry
     127             : {
     128             : 
     129             :     //color format ui elements
     130             :     ListBox maLbColorFormat;
     131             : 
     132             :     //color scale ui elements
     133             :     ListBox maLbEntryTypeMin;
     134             :     ListBox maLbEntryTypeMax;
     135             : 
     136             :     Edit maEdMin;
     137             :     Edit maEdMax;
     138             : 
     139             :     ColorListBox maLbColMin;
     140             :     ColorListBox maLbColMax;
     141             : 
     142             :     ScFormatEntry* createColorscaleEntry() const;
     143             : 
     144             :     virtual rtl::OUString GetExpressionString();
     145             :     void Init();
     146             : 
     147             :     DECL_LINK( EntryTypeHdl, ListBox* );
     148             : public:
     149             :     ScColorScale2FrmtEntry( Window* pParent, ScDocument* pDoc, const ScAddress& rPos, const ScColorScaleFormat* pFormat = NULL );
     150             :     virtual ScFormatEntry* GetEntry() const;
     151             :     virtual void SetActive();
     152             :     virtual void SetInactive();
     153           0 :     virtual condformat::entry::ScCondFrmtEntryType GetType() { return condformat::entry::COLORSCALE2; }
     154             : };
     155             : 
     156           0 : class ScColorScale3FrmtEntry : public ScCondFrmtEntry
     157             : {
     158             : 
     159             :     //color format ui elements
     160             :     ListBox maLbColorFormat;
     161             : 
     162             :     //color scale ui elements
     163             :     ListBox maLbEntryTypeMin;
     164             :     ListBox maLbEntryTypeMiddle;
     165             :     ListBox maLbEntryTypeMax;
     166             : 
     167             :     Edit maEdMin;
     168             :     Edit maEdMiddle;
     169             :     Edit maEdMax;
     170             : 
     171             :     ColorListBox maLbColMin;
     172             :     ColorListBox maLbColMiddle;
     173             :     ColorListBox maLbColMax;
     174             : 
     175             :     ScFormatEntry* createColorscaleEntry() const;
     176             : 
     177             :     virtual rtl::OUString GetExpressionString();
     178             :     void Init();
     179             : 
     180             :     DECL_LINK( EntryTypeHdl, ListBox* );
     181             : public:
     182             :     ScColorScale3FrmtEntry( Window* pParent, ScDocument* pDoc, const ScAddress& rPos, const ScColorScaleFormat* pFormat = NULL );
     183             :     virtual ScFormatEntry* GetEntry() const;
     184             :     virtual void SetActive();
     185             :     virtual void SetInactive();
     186           0 :     virtual condformat::entry::ScCondFrmtEntryType GetType() { return condformat::entry::COLORSCALE3; }
     187             : };
     188             : 
     189           0 : class ScDataBarFrmtEntry : public ScCondFrmtEntry
     190             : {
     191             :     //color format ui elements
     192             :     ListBox maLbColorFormat;
     193             : 
     194             :     //data bar ui elements
     195             :     ListBox maLbDataBarMinType;
     196             :     ListBox maLbDataBarMaxType;
     197             :     Edit maEdDataBarMin;
     198             :     Edit maEdDataBarMax;
     199             : 
     200             :     PushButton maBtOptions;
     201             : 
     202             :     boost::scoped_ptr<ScDataBarFormatData> mpDataBarData;
     203             : 
     204             :     ScFormatEntry* createDatabarEntry() const;
     205             : 
     206             :     virtual rtl::OUString GetExpressionString();
     207             :     void Init();
     208             : 
     209             :     DECL_LINK( OptionBtnHdl, void* );
     210             :     DECL_LINK( DataBarTypeSelectHdl, void* );
     211             : public:
     212             :     ScDataBarFrmtEntry( Window* pParemt, ScDocument* pDoc, const ScAddress& rPos, const ScDataBarFormat* pFormat = NULL );
     213             :     virtual ScFormatEntry* GetEntry() const;
     214             :     virtual void SetActive();
     215             :     virtual void SetInactive();
     216             : 
     217           0 :     virtual condformat::entry::ScCondFrmtEntryType GetType() { return condformat::entry::DATABAR; }
     218             : };
     219             : 
     220           0 : class ScDateFrmtEntry : public ScCondFrmtEntry
     221             : {
     222             : public:
     223             :     ScDateFrmtEntry( Window* pParent, ScDocument* pDoc, const ScCondDateFormatEntry* pFormat = NULL );
     224             :     virtual ScFormatEntry* GetEntry() const;
     225             :     virtual void SetActive();
     226             :     virtual void SetInactive();
     227           0 :     virtual condformat::entry::ScCondFrmtEntryType GetType() { return condformat::entry::DATE; }
     228             : 
     229             : protected:
     230             :     virtual rtl::OUString GetExpressionString();
     231             : 
     232             : private:
     233             :     void Init();
     234             : 
     235             :     DECL_LINK( StyleSelectHdl, void* );
     236             : 
     237             :     ListBox maLbDateEntry;
     238             :     FixedText maFtStyle;
     239             :     ListBox maLbStyle;
     240             :     SvxFontPrevWindow maWdPreview;
     241             : };
     242             : 
     243           0 : class ScIconSetFrmtEntry : public ScCondFrmtEntry
     244             : {
     245             :     //color format ui elements
     246             :     ListBox maLbColorFormat;
     247             : 
     248             :     // icon set ui elements
     249             :     ListBox maLbIconSetType;
     250             : 
     251           0 :     class ScIconSetFrmtDataEntry : public Control
     252             :     {
     253             :     private:
     254             :         FixedImage maImgIcon;
     255             :         FixedText maFtEntry;
     256             :         Edit maEdEntry;
     257             :         ListBox maLbEntryType;
     258             : 
     259             :     public:
     260             :         ScIconSetFrmtDataEntry( Window* pParent, ScIconSetType eType, sal_Int32 i, const ScColorScaleEntry* pEntry = NULL );
     261             : 
     262             :         ScColorScaleEntry* CreateEntry(ScDocument* pDoc, const ScAddress& rPos) const;
     263             : 
     264             :         void SetLastEntry();
     265             :     };
     266             :     typedef boost::ptr_vector<ScIconSetFrmtDataEntry> ScIconSetFrmtDateEntriesType;
     267             :     ScIconSetFrmtDateEntriesType maEntries;
     268             : 
     269             :     virtual rtl::OUString GetExpressionString();
     270             : 
     271             :     void Init();
     272             : 
     273             :     DECL_LINK( IconSetTypeHdl, void* );
     274             : 
     275             : public:
     276             :     ScIconSetFrmtEntry( Window* pParent, ScDocument* pDoc, const ScAddress& rPos, const ScIconSetFormat* pFormat = NULL );
     277             :     virtual ScFormatEntry* GetEntry() const;
     278             :     virtual void SetActive();
     279             :     virtual void SetInactive();
     280           0 :     virtual condformat::entry::ScCondFrmtEntryType GetType() { return condformat::entry::ICONSET; }
     281             : };
     282             : 
     283             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10