Как отключить дочерний элемент в представлении списка (сделать его цвет серым и неактивным)

в моем приложении есть список, и щелчок по каждому элементу в нем приводит к операции.

но в некоторых ситуациях некоторые операции не могут быть сделано. графики ( График [] ). К сожалению, визуализация больших графиков может занять очень много времени, намного дольше, чем большинство других операций, которые я выполняю над ними во время интерактивной работы.

Как я могу предотвратить автоматическую компоновку объектов Graph [] в StandardForm и TraditionalForm, и отображать их как, например, -Graph- , желательно с сохранением интерпретируемости вывода (возможно, используя Interpretation ?). Я думаю, что это повлечет за собой изменение Format и / или MakeBoxes каким-то образом, но мне не удалось заставить это работать.

Я хотел бы сделать это обратимым способом , и предпочтительно определить функцию, которая будет возвращать исходное интерактивное отображение графика при применении к объекту Graph (не то же самое, что GraphPlot , который не является интерактивным).

Кстати, есть ли способ получить определения Format / MakeBoxes, связанные с определенными символами? FormatValues ​​ - это одна из релевантных функций, но она пуста для Graph .

Пример сеанса:

In[1]:= Graph[{1->2, 2->3, 3->1}]
Out[1]= -Graph-

In[2]:= interactiveGraphPlot[%] (* note that % works *)
Out[2]= (the usual interactive graph plot should be shown here)
6
задан Szabolcs 9 May 2011 в 14:57
поделиться