1 #ifndef BOOKMARKS_H 2 #define BOOKMARKS_H 3 4 class FXAPI Bookmarks : public FXObject 5 { 6 FXDECLARE(Bookmarks) 7 protected: 8 FXString group; // MRU File group 9 FXObject* target; // Target object to send message 10 FXSelector message; // Message to send 11 int maxbookmarks; // Maximum number of bookmarks to track 12 private: 13 Bookmarks(const Bookmarks&); 14 Bookmarks& operator=(const Bookmarks&); 15 16 public: 17 long onCmdClear(FXObject*, FXSelector, void*); 18 long onCmdBookmark(FXObject*, FXSelector, void*); 19 long onUpdBookmark(FXObject*, FXSelector, void*); 20 long onUpdAnyBookmarks(FXObject*, FXSelector, void*); 21 public: 22 enum 23 { 24 ID_CLEAR, 25 ID_ANYBOOKMARKS, 26 ID_BOOKMARK_1, 27 ID_BOOKMARK_2, 28 ID_BOOKMARK_3, 29 ID_BOOKMARK_4, 30 ID_BOOKMARK_5, 31 ID_BOOKMARK_6, 32 ID_BOOKMARK_7, 33 ID_BOOKMARK_8, 34 ID_BOOKMARK_9, 35 ID_BOOKMARK_10, 36 ID_BOOKMARK_11, 37 ID_BOOKMARK_12, 38 ID_BOOKMARK_13, 39 ID_BOOKMARK_14, 40 ID_BOOKMARK_15, 41 ID_BOOKMARK_16, 42 ID_BOOKMARK_17, 43 ID_BOOKMARK_18, 44 ID_BOOKMARK_19, 45 ID_BOOKMARK_20 46 }; 47 public: 48 49 // Make new Bookmarks Group with default groupname 50 Bookmarks(); 51 52 // Make new Bookmarks Group with groupname gp 53 Bookmarks(const FXString& gp, FXObject* tgt = NULL, FXSelector sel = 0); 54 55 // Change number of bookmarks we're tracking setMaxBookmarks(int mx)56 void setMaxBookmarks(int mx) 57 { 58 maxbookmarks = mx; 59 } 60 61 // Return the maximum number of bookmarks being tracked getMaxBookmarks()62 int getMaxBookmarks() const 63 { 64 return(maxbookmarks); 65 } 66 67 // Set group name setGroupName(const FXString & name)68 void setGroupName(const FXString& name) 69 { 70 group = name; 71 } 72 73 // Return group name getGroupName()74 FXString getGroupName() const 75 { 76 return(group); 77 } 78 79 // Change the target setTarget(FXObject * t)80 void setTarget(FXObject* t) 81 { 82 target = t; 83 } 84 85 // Get the target getTarget()86 FXObject* getTarget() const 87 { 88 return(target); 89 } 90 91 // Change the message setSelector(FXSelector sel)92 void setSelector(FXSelector sel) 93 { 94 message = sel; 95 } 96 97 // Return the message id getSelector()98 FXSelector getSelector() const 99 { 100 return(message); 101 } 102 103 // Obtain the bookmark name at index 104 FXString getBookmark(int index) const; 105 106 // Change the bookmark name at index 107 void setBookmark(int index, const FXString& filename); 108 109 // Append a bookmark 110 void appendBookmark(const FXString& filename); 111 112 // Remove a bookmark 113 void removeBookmark(const FXString& filename); 114 115 // Clear the list of bookmarks 116 void clear(); 117 118 // Destructor 119 virtual ~Bookmarks(); 120 }; 121 122 123 #endif 124