summaryrefslogtreecommitdiff
path: root/sc/source/ui/inc/asciiopt.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui/inc/asciiopt.hxx')
-rw-r--r--sc/source/ui/inc/asciiopt.hxx211
1 files changed, 211 insertions, 0 deletions
diff --git a/sc/source/ui/inc/asciiopt.hxx b/sc/source/ui/inc/asciiopt.hxx
new file mode 100644
index 000000000000..a5c7a2b554b4
--- /dev/null
+++ b/sc/source/ui/inc/asciiopt.hxx
@@ -0,0 +1,211 @@
+/*************************************************************************
+ *
+ * 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_ASCIIOPT_HXX
+#define SC_ASCIIOPT_HXX
+
+#include <tools/string.hxx>
+#ifndef _DIALOG_HXX //autogen
+#include <vcl/dialog.hxx>
+#endif
+#ifndef _BUTTON_HXX //autogen
+#include <vcl/button.hxx>
+#endif
+#ifndef _FIXED_HXX //autogen
+#include <vcl/fixed.hxx>
+#endif
+#ifndef _LSTBOX_HXX //autogen
+#include <vcl/lstbox.hxx>
+#endif
+#ifndef _COMBOBOX_HXX //autogen
+#include <vcl/combobox.hxx>
+#endif
+#ifndef _FIELD_HXX //autogen
+#include <vcl/field.hxx>
+#endif
+#include <tools/stream.hxx>
+#include <svx/txencbox.hxx>
+#include "csvtablebox.hxx"
+#include "i18npool/lang.h"
+
+// ============================================================================
+
+class ScAsciiOptions
+{
+private:
+ BOOL bFixedLen;
+ String aFieldSeps;
+ BOOL bMergeFieldSeps;
+ bool bQuotedFieldAsText;
+ bool bDetectSpecialNumber;
+ sal_Unicode cTextSep;
+ CharSet eCharSet;
+ LanguageType eLang;
+ BOOL bCharSetSystem;
+ long nStartRow;
+ USHORT nInfoCount;
+ xub_StrLen* pColStart; //! TODO replace with vector
+ BYTE* pColFormat; //! TODO replace with vector
+
+public:
+ ScAsciiOptions();
+ ScAsciiOptions(const ScAsciiOptions& rOpt);
+ ~ScAsciiOptions();
+
+ static const sal_Unicode cDefaultTextSep = '"';
+
+ ScAsciiOptions& operator=( const ScAsciiOptions& rCpy );
+
+ BOOL operator==( const ScAsciiOptions& rCmp ) const;
+
+ void ReadFromString( const String& rString );
+ String WriteToString() const;
+
+ void InterpretColumnList( const String& rString );
+
+ CharSet GetCharSet() const { return eCharSet; }
+ BOOL GetCharSetSystem() const { return bCharSetSystem; }
+ const String& GetFieldSeps() const { return aFieldSeps; }
+ BOOL IsMergeSeps() const { return bMergeFieldSeps; }
+ bool IsQuotedAsText() const { return bQuotedFieldAsText; }
+ bool IsDetectSpecialNumber() const { return bDetectSpecialNumber; }
+ sal_Unicode GetTextSep() const { return cTextSep; }
+ BOOL IsFixedLen() const { return bFixedLen; }
+ USHORT GetInfoCount() const { return nInfoCount; }
+ const xub_StrLen* GetColStart() const { return pColStart; }
+ const BYTE* GetColFormat() const { return pColFormat; }
+ long GetStartRow() const { return nStartRow; }
+ LanguageType GetLanguage() const { return eLang; }
+
+ void SetCharSet( CharSet eNew ) { eCharSet = eNew; }
+ void SetCharSetSystem( BOOL bSet ) { bCharSetSystem = bSet; }
+ void SetFixedLen( BOOL bSet ) { bFixedLen = bSet; }
+ void SetFieldSeps( const String& rStr ) { aFieldSeps = rStr; }
+ void SetMergeSeps( BOOL bSet ) { bMergeFieldSeps = bSet; }
+ void SetQuotedAsText(bool bSet) { bQuotedFieldAsText = bSet; }
+ void SetDetectSpecialNumber(bool bSet) { bDetectSpecialNumber = bSet; }
+ void SetTextSep( sal_Unicode c ) { cTextSep = c; }
+ void SetStartRow( long nRow) { nStartRow= nRow; }
+ void SetLanguage(LanguageType e) { eLang = e; }
+
+ void SetColInfo( USHORT nCount, const xub_StrLen* pStart, const BYTE* pFormat );
+ void SetColumnInfo( const ScCsvExpDataVec& rDataVec );
+};
+
+
+//CHINA001 // ============================================================================
+//CHINA001
+//CHINA001 class ScImportAsciiDlg : public ModalDialog
+//CHINA001 {
+//CHINA001 SvStream* pDatStream;
+//CHINA001 ULONG* pRowPosArray;
+//CHINA001 ULONG* pRowPosArrayUnicode;
+//CHINA001 USHORT nArrayEndPos;
+//CHINA001 USHORT nArrayEndPosUnicode;
+//CHINA001 ULONG nStreamPos;
+//CHINA001 ULONG nStreamPosUnicode;
+//CHINA001 BOOL bVFlag;
+//CHINA001
+//CHINA001 FixedLine aFlFieldOpt;
+//CHINA001 FixedText aFtCharSet;
+//CHINA001 SvxTextEncodingBox aLbCharSet;
+//CHINA001
+//CHINA001 FixedText aFtRow;
+//CHINA001 NumericField aNfRow;
+//CHINA001
+//CHINA001 FixedLine aFlSepOpt;
+//CHINA001 RadioButton aRbFixed;
+//CHINA001 RadioButton aRbSeparated;
+//CHINA001
+//CHINA001 CheckBox aCkbTab;
+//CHINA001 CheckBox aCkbSemicolon;
+//CHINA001 CheckBox aCkbComma;
+//CHINA001 CheckBox aCkbSpace;
+//CHINA001 CheckBox aCkbOther;
+//CHINA001 Edit aEdOther;
+//CHINA001 CheckBox aCkbAsOnce;
+//CHINA001 FixedText aFtTextSep;
+//CHINA001 ComboBox aCbTextSep;
+//CHINA001
+//CHINA001 FixedLine aFlWidth;
+//CHINA001 FixedText aFtType;
+//CHINA001 ListBox aLbType;
+//CHINA001
+//CHINA001 ScCsvTableBox maTableBox;
+//CHINA001
+//CHINA001 OKButton aBtnOk;
+//CHINA001 CancelButton aBtnCancel;
+//CHINA001 HelpButton aBtnHelp;
+//CHINA001
+//CHINA001 String aCharSetUser;
+//CHINA001 String aColumnUser;
+//CHINA001 String aFldSepList;
+//CHINA001 String aTextSepList;
+//CHINA001
+//CHINA001 // aPreviewLine contains the byte string as read from the file
+//CHINA001 ByteString aPreviewLine[ CSV_PREVIEW_LINES ];
+//CHINA001 // same for Unicode
+//CHINA001 String aPreviewLineUnicode[ CSV_PREVIEW_LINES ];
+//CHINA001
+//CHINA001 CharSet meCharSet; /// Selected char set.
+//CHINA001 bool mbCharSetSystem; /// Is System char set selected?
+//CHINA001
+//CHINA001 public:
+//CHINA001 ScImportAsciiDlg(
+//CHINA001 Window* pParent, String aDatName,
+//CHINA001 SvStream* pInStream, sal_Unicode cSep = '\t' );
+//CHINA001 ~ScImportAsciiDlg();
+//CHINA001
+//CHINA001 void GetOptions( ScAsciiOptions& rOpt );
+//CHINA001
+//CHINA001 private:
+//CHINA001 /** Sets the selected char set data to meCharSet and mbCharSetSystem. */
+//CHINA001 void SetSelectedCharSet();
+//CHINA001 /** Returns all separator characters in a string. */
+//CHINA001 String GetSeparators() const;
+//CHINA001
+//CHINA001 /** Enables or disables all separator checkboxes and edit fields. */
+//CHINA001 void SetupSeparatorCtrls();
+//CHINA001
+//CHINA001 void UpdateVertical( bool bSwitchToFromUnicode = false );
+//CHINA001
+//CHINA001 DECL_LINK( CharSetHdl, SvxTextEncodingBox* );
+//CHINA001 DECL_LINK( FirstRowHdl, NumericField* );
+//CHINA001 DECL_LINK( RbSepFixHdl, RadioButton* );
+//CHINA001 DECL_LINK( SeparatorHdl, Control* );
+//CHINA001 DECL_LINK( LbColTypeHdl, ListBox* );
+//CHINA001 DECL_LINK( UpdateTextHdl, ScCsvTableBox* );
+//CHINA001 DECL_LINK( ColTypeHdl, ScCsvTableBox* );
+//CHINA001 };
+//CHINA001
+//CHINA001
+// ============================================================================
+
+#endif
+