Ermitteln, ob ein Front-End-Token zur Ausführung verfügbar ist

9

Wie kann ich feststellen, ob ein Front-End-Token zur Ausführung verfügbar ist? Alternativ kann ich feststellen, ob ein Front-End-Token fehlgeschlagen ist.

Beispiel: das Bearbeiten - & gt; Der Kopierbefehl ist nicht verfügbar, wenn nichts ausgewählt ist. FrontEndTokenExecute["Copy"] piept einfach in diesem Fall, aber es gibt mir keine (programmatische) Anzeige, dass es fehlgeschlagen ist.

    
Szabolcs 01.01.2012, 18:53
quelle

1 Antwort

5

Ich habe eine Methode gefunden, um mit Ihrer zweiten Frage umzugehen, aber sie ist nicht elegant:

  1. In Preferences > Interface > Message and Warning actions set Geringere Warnungen der Benutzeroberfläche zu Beep and Print to Console
  2. Stellen Sie sicher, dass mindestens eine Fehlermeldung im Nachrichtenfenster
  3. angezeigt wird
  4. Besorgen Sie sich einen Notizblock für das Notizfenster (mit Notebooks[] oder so)
  5. Speichern Sie die letzte Zelle im Nachrichten-Notizbuch mit NotebookGet[NotebookObject[FrontEndObject[LinkObject["55d_shm", 1, 1]], 1]]/. Notebook[{___, Cell[a___]}, ___] :> Cell[a] (Ihr Handle wird natürlich anders aussehen)
  6. Ihr Aufruf: FrontEndTokenExecute ["Copy"]
  7. Erhalten Sie die letzte Fehlermeldung und überprüfen Sie, ob sie sich von der in Schritt 4 gespeicherten unterscheidet.
  8. Die Fehlerzelle sieht wie Cell["You tried to edit a cell that is not editable. You can make the \ cell editable by choosing Cell Editable in the Cell Properties \ submenu.", "Message", "Message", "MSG", PageWidth -> WindowWidth, ShowCellLabel -> True, CellChangeTimes -> {3.534442831*10^9}, CellTags -> "cantEditLockedCell"] aus
  9. Handeln Sie entsprechend
Sjoerd C. de Vries 01.01.2012, 22:03
quelle