summaryrefslogtreecommitdiff
path: root/app/bin/note.h
diff options
context:
space:
mode:
Diffstat (limited to 'app/bin/note.h')
-rw-r--r--app/bin/note.h81
1 files changed, 27 insertions, 54 deletions
diff --git a/app/bin/note.h b/app/bin/note.h
index 315823f..4e744b2 100644
--- a/app/bin/note.h
+++ b/app/bin/note.h
@@ -2,28 +2,27 @@
* Common definitions for notes
*/
- /* XTrkCad - Model Railroad CAD
- * Copyright (C) 2018 Martin Fischer
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
+/* XTrkCad - Model Railroad CAD
+ * Copyright (C) 2018 Martin Fischer
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
#ifndef HAVE_NOTE_H
#define HAVE_NOTE_H
-#include <stdbool.h>
-#include "track.h"
+#include "common.h"
#define URLMAXIMUMLENGTH (512)
#define PATHMAXIMUMLENGTH (2048)
@@ -40,9 +39,9 @@ enum noteCommands {
};
/** hold the data for the note */
-struct extraDataNote {
+typedef struct extraDataNote_t {
+ extraDataBase_t base;
coOrd pos; /**< position */
- unsigned int layer;
enum noteCommands op; /**< note type */
track_p trk; /**< track */
union {
@@ -57,54 +56,28 @@ struct extraDataNote {
BOOL_T inArchive;
} fileData; /**< used for file note */
} noteData;
-};
-
-//struct noteTextData {
-// coOrd pos;
-// unsigned int layer;
-// char *text;
-// track_p trk;
-//};
-
-struct noteLinkData {
- coOrd pos;
- unsigned int layer;
- char title[TITLEMAXIMUMLENGTH];
- char url[URLMAXIMUMLENGTH];
- track_p trk;
-};
-
-struct noteFileData {
- coOrd pos;
- unsigned int layer;
- char title[TITLEMAXIMUMLENGTH];
- char path[PATHMAXIMUMLENGTH];
- track_p trk;
- BOOL_T inArchive;
-};
+} extraDataNote_t;
-enum { OR_NOTE, LY_NOTE, TX_TEXT, OK_TEXT, TITLE_LINK, TX_LINK, OK_LINK, TITLE_FILE, OK_FILE, CANCEL_NOTE };
/* linknoteui.c */
-void NewLinkNoteUI(track_p trk);
+void NewLinkNoteUI( coOrd );
BOOL_T IsLinkNote(track_p trk);
void DescribeLinkNote(track_p trk, char * str, CSIZE_T len);
void ActivateLinkNote(track_p trk);
/* filenozeui.c */
-void NewFileNoteUI(track_p trk);
+void NewFileNoteUI( coOrd );
BOOL_T IsFileNote(track_p trk);
void DescribeFileNote(track_p trk, char * str, CSIZE_T len);
void ActivateFileNote(track_p trk);
/* textnoteui.c */
-void NewTextNoteUI(track_p trk);
+void NewTextNoteUI( coOrd );
void DescribeTextNote(track_p trk, char * str, CSIZE_T len);
/* trknote.c */
-void NoteStateSave(track_p trk);
+extern TRKTYP_T T_NOTE;
+//void NoteStateSave(track_p trk);
+track_p NewNote(wIndex_t index, coOrd p, enum noteCommands command );
-void UpdateFile(struct extraDataNote *noteUIData, int inx, BOOL_T needUndoStart);
-void UpdateText(struct extraDataNote *noteUIData, int inx, BOOL_T needUndoStart);
-void UpdateLink(struct extraDataNote *noteUIData, int inx, BOOL_T needUndoStart);
#endif // !HAVE_NOTE_H