office-gobmx/sc/inc/chgviset.hxx

151 lines
6 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef SC_CHGVISET_HXX
#define SC_CHGVISET_HXX
#include <tools/datetime.hxx>
#include <tools/string.hxx>
#include "rangelst.hxx"
#include "scdllapi.h"
enum ScChgsDateMode{ SCDM_DATE_BEFORE=0,SCDM_DATE_SINCE=1,SCDM_DATE_EQUAL=2,
SCDM_DATE_NOTEQUAL=3,SCDM_DATE_BETWEEN=4, SCDM_DATE_SAVE=5,
SCDM_NO_DATEMODE=6};
namespace utl {
class TextSearch;
}
class ScDocument;
class SC_DLLPUBLIC ScChangeViewSettings
{
private:
utl::TextSearch* pCommentSearcher;
DateTime aFirstDateTime;
DateTime aLastDateTime;
String aAuthorToShow;
String aComment;
ScRangeList aRangeList;
ScChgsDateMode eDateMode;
sal_Bool bShowIt;
sal_Bool bIsDate;
sal_Bool bIsAuthor;
sal_Bool bIsComment;
sal_Bool bIsRange;
sal_Bool bEveryoneButMe;
sal_Bool bShowAccepted;
sal_Bool bShowRejected;
bool mbIsActionRange;
sal_uLong mnFirstAction;
sal_uLong mnLastAction;
public:
ScChangeViewSettings()
{
pCommentSearcher=NULL;
bIsDate=false;
bIsAuthor=false;
bIsRange=false;
bIsComment=false;
bShowIt=false;
eDateMode=SCDM_DATE_BEFORE;
bEveryoneButMe=false;
bShowAccepted=false;
bShowRejected=false;
mbIsActionRange = false;
}
ScChangeViewSettings( const ScChangeViewSettings& r );
~ScChangeViewSettings();
sal_Bool ShowChanges() const {return bShowIt;}
void SetShowChanges(sal_Bool nFlag=sal_True){bShowIt=nFlag;}
sal_Bool HasDate() const {return bIsDate;}
void SetHasDate(sal_Bool nFlag=sal_True) {bIsDate=nFlag;}
void SetTheDateMode(ScChgsDateMode eDatMod){ eDateMode=eDatMod; }
ScChgsDateMode GetTheDateMode() const { return eDateMode; }
void SetTheFirstDateTime(const DateTime& aDateTime) {aFirstDateTime=aDateTime;}
const DateTime& GetTheFirstDateTime()const {return aFirstDateTime;}
void SetTheLastDateTime(const DateTime& aDateTime) {aLastDateTime=aDateTime;}
const DateTime& GetTheLastDateTime()const {return aLastDateTime;}
sal_Bool HasAuthor() const {return bIsAuthor;}
void SetHasAuthor(sal_Bool nFlag=sal_True) {bIsAuthor=nFlag;}
String GetTheAuthorToShow()const {return aAuthorToShow;}
void SetTheAuthorToShow(const String& aString){aAuthorToShow=aString;}
sal_Bool HasComment() const {return bIsComment;}
void SetHasComment(sal_Bool nFlag=sal_True) {bIsComment=nFlag;}
String GetTheComment()const {return aComment;}
void SetTheComment(const String& aString);
sal_Bool IsValidComment(const String* pCommentStr) const;
sal_Bool IsEveryoneButMe() const {return bEveryoneButMe;}
void SetEveryoneButMe(sal_Bool nFlag=sal_True) {bEveryoneButMe=nFlag;}
sal_Bool HasRange() const {return bIsRange;}
void SetHasRange(sal_Bool nFlag=sal_True) {bIsRange=nFlag;}
const ScRangeList& GetTheRangeList()const {return aRangeList;}
void SetTheRangeList(const ScRangeList& aRl){aRangeList=aRl;}
sal_Bool IsShowAccepted() const { return bShowAccepted; }
void SetShowAccepted( sal_Bool bVal ) { bShowAccepted = bVal; }
sal_Bool IsShowRejected() const { return bShowRejected; }
void SetShowRejected( sal_Bool bVal ) { bShowRejected = bVal; }
ScChangeViewSettings& operator= ( const ScChangeViewSettings& r );
/// Adjust dates according to selected DateMode
void AdjustDateMode( const ScDocument& rDoc );
bool HasActionRange() const { return mbIsActionRange; }
void SetHasActionRange( bool nFlag = true ) { mbIsActionRange = nFlag; }
void GetTheActionRange( sal_uLong& nFirst, sal_uLong& nLast ) const { nFirst = mnFirstAction; nLast = mnLastAction; }
void SetTheActionRange( sal_uLong nFirst, sal_uLong nLast ) { mnFirstAction = nFirst; mnLastAction = nLast; }
};
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */