text: /**************************************************************
   * 
   * 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 SC_INPUTOPT_HXX
  #define SC_INPUTOPT_HXX
  
  
  #include <unotools/configitem.hxx>
  #include <tools/solar.h>
  
  class SvStream;
  
  
  class ScInputOptions
  {
  private:
  	sal_uInt16		nMoveDir;			// enum ScDirection
  	sal_Bool		bMoveSelection;
  	sal_Bool		bEnterEdit;
  	sal_Bool		bExtendFormat;
  	sal_Bool		bRangeFinder;
  	sal_Bool		bExpandRefs;
  	sal_Bool		bMarkHeader;
  	sal_Bool		bUseTabCol;
  	sal_Bool		bTextWysiwyg;
      sal_Bool        bReplCellsWarn;
  
  public:
  				ScInputOptions();
  				ScInputOptions( const ScInputOptions& rCpy );
  				~ScInputOptions();
  
  	void		SetDefaults();
  
      void        SetMoveDir(sal_uInt16 nNew)         { nMoveDir = nNew;       }
      sal_uInt16      GetMoveDir() const              { return nMoveDir;       }
      void        SetMoveSelection(sal_Bool bSet)     { bMoveSelection = bSet; }
      sal_Bool        GetMoveSelection() const        { return bMoveSelection; }
      void        SetEnterEdit(sal_Bool bSet)         { bEnterEdit = bSet;     }
      sal_Bool        GetEnterEdit() const            { return bEnterEdit;     }
      void        SetExtendFormat(sal_Bool bSet)      { bExtendFormat = bSet;  }
      sal_Bool        GetExtendFormat() const         { return bExtendFormat;  }
      void        SetRangeFinder(sal_Bool bSet)       { bRangeFinder = bSet;   }
      sal_Bool        GetRangeFinder() const          { return bRangeFinder;   }
      void        SetExpandRefs(sal_Bool bSet)        { bExpandRefs = bSet;    }
      sal_Bool        GetExpandRefs() const           { return bExpandRefs;    }
      void        SetMarkHeader(sal_Bool bSet)        { bMarkHeader = bSet;    }
      sal_Bool        GetMarkHeader() const           { return bMarkHeader;    }
      void        SetUseTabCol(sal_Bool bSet)         { bUseTabCol = bSet;     }
      sal_Bool        GetUseTabCol() const            { return bUseTabCol;     }
      void        SetTextWysiwyg(sal_Bool bSet)       { bTextWysiwyg = bSet;   }
      sal_Bool        GetTextWysiwyg() const          { return bTextWysiwyg;   }
      void        SetReplaceCellsWarn(sal_Bool bSet)  { bReplCellsWarn = bSet; }
      sal_Bool        GetReplaceCellsWarn() const     { return bReplCellsWarn; }
  
  	const ScInputOptions&	operator=	( const ScInputOptions& rOpt );
  };
  
  
  //==================================================================
  // CfgItem fuer Eingabe-Optionen
  //==================================================================
  
  class ScInputCfg : public ScInputOptions,
  				  public utl::ConfigItem
  {
  	com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames();
  
  public:
  			ScInputCfg();
  
  	void			SetOptions( const ScInputOptions& rNew );
  	void			OptionsChanged();	// after direct access to SetOptions base class
  
  	virtual void	Notify( const com::sun::star::uno::Sequence<rtl::OUString>& aPropertyNames );
  	virtual void	Commit();
  };
  
  
  #endif
  
  