123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- //---------------------------------------------------------------------------
- #ifndef BookmarksH
- #define BookmarksH
- //---------------------------------------------------------------------------
- #include <CopyParam.h>
- //---------------------------------------------------------------------------
- class THierarchicalStorage;
- class TBookmarkList;
- class TShortCuts;
- //---------------------------------------------------------------------------
- class TBookmarks : public TObject
- {
- public:
- __fastcall TBookmarks();
- virtual __fastcall ~TBookmarks();
- void __fastcall Load(THierarchicalStorage * Storage);
- void __fastcall Save(THierarchicalStorage * Storage, bool All);
- void __fastcall ModifyAll(bool Modify);
- void __fastcall Clear();
- __property TBookmarkList * Bookmarks[UnicodeString Index] = { read = GetBookmarks, write = SetBookmarks };
- __property TBookmarkList * SharedBookmarks = { read = GetSharedBookmarks, write = SetSharedBookmarks };
- private:
- TStringList * FBookmarkLists;
- UnicodeString FSharedKey;
- static UnicodeString Keys[];
- TBookmarkList * __fastcall GetBookmarks(UnicodeString Index);
- void __fastcall SetBookmarks(UnicodeString Index, TBookmarkList * value);
- TBookmarkList * __fastcall GetSharedBookmarks();
- void __fastcall SetSharedBookmarks(TBookmarkList * value);
- void __fastcall LoadLevel(THierarchicalStorage * Storage, const UnicodeString Key,
- int Index, TBookmarkList * BookmarkList);
- };
- //---------------------------------------------------------------------------
- class TBookmark;
- //---------------------------------------------------------------------------
- class TBookmarkList : public TPersistent
- {
- friend class TBookmarks;
- friend class TBookmark;
- public:
- __fastcall TBookmarkList();
- virtual __fastcall ~TBookmarkList();
- void __fastcall Clear();
- void __fastcall Add(TBookmark * Bookmark);
- void __fastcall Insert(int Index, TBookmark * Bookmark);
- void __fastcall InsertBefore(TBookmark * BeforeBookmark, TBookmark * Bookmark);
- void __fastcall MoveTo(TBookmark * ToBookmark, TBookmark * Bookmark, bool Before);
- void __fastcall Delete(TBookmark * Bookmark);
- TBookmark * __fastcall FindByName(const UnicodeString Node, const UnicodeString Name);
- TBookmark * __fastcall FindByShortCut(TShortCut ShortCut);
- virtual void __fastcall Assign(TPersistent * Source);
- void __fastcall LoadOptions(THierarchicalStorage * Storage);
- void __fastcall SaveOptions(THierarchicalStorage * Storage);
- void __fastcall ShortCuts(TShortCuts & ShortCuts);
- __property int Count = { read = GetCount };
- __property TBookmark * Bookmarks[int Index] = { read = GetBookmarks };
- __property bool NodeOpened[UnicodeString Index] = { read = GetNodeOpened, write = SetNodeOpened };
- protected:
- int __fastcall IndexOf(TBookmark * Bookmark);
- void __fastcall KeyChanged(int Index);
- __property bool Modified = { read = FModified, write = FModified };
- private:
- TStringList * FBookmarks;
- TStringList * FOpenedNodes;
- bool FModified;
- int __fastcall GetCount();
- TBookmark * __fastcall GetBookmarks(int Index);
- bool __fastcall GetNodeOpened(UnicodeString Index);
- void __fastcall SetNodeOpened(UnicodeString Index, bool value);
- };
- //---------------------------------------------------------------------------
- class TBookmark : public TPersistent
- {
- friend class TBookmarkList;
- public:
- __fastcall TBookmark();
- virtual void __fastcall Assign(TPersistent * Source);
- UnicodeString __fastcall GetSideDirectory(TOperationSide Side);
- __property UnicodeString Name = { read = FName, write = SetName };
- __property UnicodeString Local = { read = FLocal, write = SetLocal };
- __property UnicodeString Remote = { read = FRemote, write = SetRemote };
- __property UnicodeString Node = { read = FNode, write = SetNode };
- __property TShortCut ShortCut = { read = FShortCut, write = SetShortCut };
- protected:
- TBookmarkList * FOwner;
- static UnicodeString __fastcall BookmarkKey(const UnicodeString Node, const UnicodeString Name);
- __property UnicodeString Key = { read = GetKey };
- private:
- UnicodeString FName;
- UnicodeString FLocal;
- UnicodeString FRemote;
- UnicodeString FNode;
- TShortCut FShortCut;
- void __fastcall SetName(const UnicodeString value);
- void __fastcall SetLocal(const UnicodeString value);
- void __fastcall SetRemote(const UnicodeString value);
- void __fastcall SetNode(const UnicodeString value);
- void __fastcall SetShortCut(TShortCut value);
- UnicodeString __fastcall GetKey();
- void __fastcall Modify(int OldIndex);
- };
- //---------------------------------------------------------------------------
- #endif
|