--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commands/fed/inc/fed.h Wed Jun 23 15:52:26 2010 +0100
@@ -0,0 +1,91 @@
+// fed.h
+//
+// Copyright (c) 2009 - 2010 Accenture. All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Accenture - Initial contribution
+//
+#ifndef FED_H_
+#define FED_H_
+
+#include <e32base.h>
+#include <f32file.h>
+
+#include "screenmngr.h"
+#include "cmdwindow.h"
+
+class CColorConsoleBase;
+class CFedBufferBase;
+class CFedViewBase;
+class CDesC16Array;
+class CCnvCharacterSetConverter;
+
+class CFed : public CActive
+{
+public:
+ static CFed* NewL(CColorConsoleBase& aConsole, RFs& aFs);
+ static CFed* NewL(CConsoleBase& aConsole, RFs& aFs);
+ ~CFed();
+
+ //Main entrance to the editor
+ void StartL(CDesC16Array* aFiles); // Takes ownership of aFiles immediately
+
+ void RedrawEverythingL();
+ void ShowHelpL(HBufC* aHelpText);
+
+public:
+ //CActive
+ void DoCancel();
+ void RunL();
+ TInt RunError(TInt aError);
+
+private:
+ CFed(CColorConsoleBase& aConsole, RFs& aFs);
+ CFed(CConsoleBase& aConsole, RFs& aFs);
+ void ConstructL();
+ //Construct all necessary views as specified in the command line
+ void CreateViewsL(CDesC16Array* aFiles);
+ //Some standard commands which need to be handled in the CFed class
+ enum TCmdType
+ {
+ ECmdNone,
+ ECmdHelp,
+ ECmdPrevView,
+ ECmdNextView,
+ ECmdNewDocument,
+ ECmdCloseCurrent,
+ ECmdCloseAll,
+ ECmdOpenDocument,
+ ECmdRefresh,
+ };
+ //Main function processing keys which should catch all commands related to the whole editor, not to any particular view
+ TCmdType ProcessKeyL(const TKeyCode& aCode);
+ //Execute commands returned by ProcessKeyL
+ TBool ExecuteCommandL(TCmdType aCmd);
+
+ //Closes the view which is currently active
+ TBool CloseCurrentViewL();
+ //Closes all views, will cause the program to close only if special char has been pressed (EKeyEscape)
+ void CloseAllViewsL();
+ //Removes the view from the array of views
+ void DeleteView();
+ void NewViewL(const TDesC& aFileName, TBool aPromptOnNonexistantName=EFalse);
+ void OpenDocumentL();
+
+private:
+ RFs& iFs;
+ CConsoleBase& iConsole;
+ CColorConsoleBase* iColorConsole;
+ CScreenManager iScreenMngr;
+ CCommandWindow* iCmdWindow;
+
+ RArray<CFedViewBase*> iViewArray;
+ TInt iViewIdx;
+ CCnvCharacterSetConverter* iCharconv; // Shared between CFileBuffers, for doing UTF-8 conversion. May be null if charconv isn't available
+};
+
+#endif /*FED_H_*/