JMP unterstützt seit geraumer Zeit das Anpassen des Hauptmenüs und der Symbolleisten. Die Art und Weise, wie die Menüanpassung implementiert wurde, hatte jedoch verschiedene Mängel, auf die uns unsere Benutzer hinwiesen. Als Reaktion auf ihr Feedback haben wir in Version 7 drastische Änderungen an der Menü- / Symbolleistenanpassung vorgenommen.
Wenn Sie in der Vergangenheit eine neue JMP-Version installiert haben und Ihre früheren Anpassungen wiederherstellen wollten, hatten Sie zwei Möglichkeiten, von denen keine sehr attraktiv war. (1) Sie können JMP auf Ihre alte JMPCMD-Datei verweisen und JMP anweisen, diesen Satz von Definitionen anzuwenden. Natürlich würde dies das gesamte Hauptmenü von JMP zurücksetzen, um Ihre alten Anpassungen wiederzugeben. Dabei würden jedoch alle neuen Menüs und / oder Befehle von JMP verschwinden (da sie nicht in Ihrer alten JMPCMD-Datei enthalten waren). (2) Sie könnten in den Menü-Editor gelangen und die benutzerdefinierten Befehle, die in Ihrer alten JMPCMD-Datei enthalten sind, mühsam in das aktuelle Hauptmenü kopieren.
JMP 7 beseitigt dieses Dilemma, indem es ein neues bereitstellt Menü zusammenführen Merkmal. JMP 7 ermöglicht es Ihnen verschmelzen die Anpassungen, die Sie in JMP 6 an Ihren Menüs und Symbolleisten vorgenommen haben. Beim ersten Start von JMP 7 werden Sie automatisch aufgefordert, Ihre Anpassungen aus JMP 6 zusammenzuführen (sofern vorhanden).

(Klicken Sie hier, um das Bild in voller Größe anzuzeigen)
Beachten Sie, dass durch den Zusammenführungsprozess die neuen Menüs von JMP 7 nicht gelöscht werden. Sie fügen einfach alle in JMP 7 enthaltenen Hauptmenüs und Symbolleisten ein, welche Befehle, Menüs und / oder Symbolleisten für Ihre Anpassung von JMP 6 spezifisch waren. Dies ist eine enorme Verbesserung gegenüber früheren Versionen von JMP, die keinerlei Unterstützung für JMP-Versionen bieten verschmelzen Merkmal.
In früheren Versionen von JMP war die Menüanpassung eine Angelegenheit "Alles oder Nichts". Wenn Sie einen einzelnen neuen Befehl hinzufügen möchten, zum Beispiel zum Menü "Datei", mussten Sie den Befehl im Menü-Editor hinzufügen und dann speichern eine JMPCMD-Datei. Diese Datei enthielt die Definition Ihres gesamten Hauptmenüs. Wenn Sie also die JMPCMD-Datei an eine andere Person weitergeben und diese auf ihre JMP-Sitzung anwenden, ersetzt sie das gesamte Hauptmenü.
Mit JMP 7 können Sie jedoch die Definition eines einzelnen Menüs (oder einer Symbolleiste) sowie eines einzelnen Befehls erstellen, der dann in eine Archivdatei mit der neuen Dateierweiterung "JMPMENU" exportiert werden kann. Wenn eine andere Person Ihre JMPMENU-Datei importiert, wird das Hauptmenü nicht ersetzt. Es wird nur der neue Befehl zu den Menüs hinzugefügt. Wenn Sie Ihre Menüdefinition exportieren, können Sie sogar angeben, ob JMP den Kontext beibehalten soll oder nicht. Wenn also jemand anderes Ihre JMPMENU-Datei importiert, wird Ihr Befehl an derselben Stelle wie sein Hauptmenü in das Hauptmenü eingefügt.
Der größte Nachteil des alten Menüs zur Anpassung von Menüs war vielleicht die Tatsache, dass Ihre Menüdefinitionen und die JSL-Skripts, auf die sie angewiesen waren (sofern vorhanden), getrennt wurden. Dies machte es extrem schwierig, Ihre Menüanpassungen mit anderen zu teilen. Angenommen, Sie haben JMP 6 verwendet und dem Hauptmenü mit dem Namen "NTheory" ein neues Menü hinzugefügt, das zwei Befehle enthielt: "Euler Phi" und "Fibonacci", von denen jedes definiert wurde, um ein bestimmtes JSL-Skript auszuführen Befehl wurde ausgewählt. Somit wurde der Pfad zum auszuführenden Skript jeweils in die Definition des Befehls selbst hartcodiert. Wenn Sie Ihr neues Menü mit einem Freund teilen möchten, reicht es nicht aus, ihm nur Ihre JMPCMD-Datei zu geben. Sie müssen auch daran denken, die JSL-Dateien anzugeben, von denen die Befehle abhängen. Und noch schlimmer: Selbst wenn Sie Ihrem Freund sowohl die JMPCMD-Datei als auch die erforderlichen Skriptdateien gegeben haben, war es höchst unwahrscheinlich, dass Ihr Menü für Ihren Freund richtig funktioniert. Die Pfade zu den Kopien der JSL-Dateien Ihres Freundes würden mit großer Wahrscheinlichkeit nicht den Pfaden entsprechen, die in der JMPCMD-Datei definiert sind. Daher muss sich Ihr Freund in den JMP-Menü-Editor begeben und die Pfade zu den JSL-Dateien für jeden Ihrer Befehle festlegen.

(Klicken Sie hier, um das Bild in voller Größe anzuzeigen)
Beispiel für ein benutzerdefiniertes Popup-Menü
JMP 7 beseitigt all diese Probleme mit der neuen JMPMENU-Datei. Wenn du Export In Ihrem Menü (oder der Symbolleiste oder dem Befehl) werden Sie gefragt, ob Sie möchten, dass JMP die JSL-Dateien archiviert, von denen Ihre Menübefehle abhängig sind. Wenn Sie positiv antworten, werden die JSL-Skripts, die Ihren Befehlen zugeordnet sind, zusammen mit der Definition Ihres Menüs in der JMPMENU-Datei archiviert. Und wenn dein Freund Importe In Ihrer JMPMENU-Datei extrahiert JMP die im Archiv enthaltenen JSL-Skripts in ein spezielles "Dependencies" -Verzeichnis. JMP ändert die Definitionen der Befehle selbst, um auf die extrahierten JSL-Dateien zu verweisen. Wenn Sie einem Ihrer Menübefehle eine Bitmap zugeordnet haben, wird diese ebenfalls zusammen mit Ihrer JSL-Datei archiviert und beim Importieren der JMPMENU-Datei extrahiert. Daher ist alles, was Ihr Freund benötigt, in nur einer Datei enthalten und er muss nichts weiter tun, damit der Befehl nach dem Importieren der JMPMENU-Datei funktioniert.
Die JMPMENU-Datei ist eigentlich eine ZIP-Datei. Wenn Sie also wissen möchten, was sich in Ihrer Menüdatei befindet, können Sie sie außerhalb von JMP immer mit einem Tool wie WinZip untersuchen. Wenn Sie das Windows-Betriebssystem in einem englischen Gebietsschema ausführen, werden Ihre JMPMENU-Dateien standardmäßig im Verzeichnis C: Documents und SettingsernameLocal SettingsApplication DataJMP7 DataEnglish-Verzeichnis gespeichert.

(Klicken Sie hier, um das Bild in voller Größe anzuzeigen)
Ein Blick in die JMPMENU-Datei
Auf meinem Computer befinden sich meine JMPMENU-Dateien beispielsweise in:
C: \ Dokumente und Einstellungen \ potter \ Lokale Einstellungen \ Anwendungsdaten \ JMP7 Data \ English.
Zuletzt wird JMP 7 automatisch importieren Ihre Menüanpassungen, wenn Sie Ihre JMPMENU-Dateien in einem speziellen Unterverzeichnis Ihres Installationsverzeichnisses finden. Wenn Sie beispielsweise unter Windows mit einer Ländereinstellung auf Englisch arbeiten und JMP am Standardspeicherort installiert haben, führt der folgende Pfad zu den englischen Unterstützungsdateien, von denen JMP abhängig ist:
C: \ Programme \ SAS \ JMP7 \ Support Files Englisch
Sie müssen lediglich ein Unterverzeichnis mit dem Namen "Factory Default Menus" erstellen und Ihre JMPMENU-Dateien an diesen Speicherort kopieren (Sie dürfen beliebig viele solcher Dateien in diesem Verzeichnis haben). Jedes Mal, wenn JMP gestartet wird, importiert es jede JMPMENU-Datei im Unterverzeichnis „Factory Default Menus“ automatisch in das Hauptmenü und die Symbolleistenliste. (Wenn einer der Befehle in Ihren benutzerdefinierten Menüs von JSL-Skripts abhängt, stellen Sie sicher, dass sie beim Exportieren der Menüs archiviert wurden.) Wenn JMP das Menü importiert, extrahiert es die JSL-Dateien aus dem Archiv und ordnet sie in einem "Abhängigkeitenbereich" Verzeichnis im Unterverzeichnis „Factory Default Menus“.
Mike Wodarczyk schrieb:
Wenn ein Benutzer bereits Menüpunkte selbst definiert hat oder dies durch Import eines jmpmenu-Pakets für ein anderes Produkt getan hat, wird der Ordner "Factory Default Menus" nicht mehr gelesen. Dies macht es schwierig, ein neues Menü für eine Benutzerbasis bereitzustellen, auf der bereits andere Menüs installiert sind. Es wäre schön, wenn es einen Ordner auf Benutzerebene wie diesen geben würde, bei dem einzelne Paketbesitzer ihre eigenen Menüs einstellen und sie mit anderen Paketen gut spielen lassen könnten.