summaryrefslogtreecommitdiff
path: root/sc/inc/chgviset.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/inc/chgviset.hxx')
-rw-r--r--sc/inc/chgviset.hxx151
1 files changed, 151 insertions, 0 deletions
diff --git a/sc/inc/chgviset.hxx b/sc/inc/chgviset.hxx
new file mode 100644
index 000000000000..630128a8be94
--- /dev/null
+++ b/sc/inc/chgviset.hxx
@@ -0,0 +1,151 @@
+/* -*- 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: */