Перейти к публикации

Как открыть диалог редактирования применяемости статуса?


Рекомендованные сообщения

Добрый день, как можно открыть диалог редактирования применяемости статуса из кода плагина ТС?

 

173d4e174880b5e2449e3c18b9355596.jpgAAAPxYl.jpg

 

BKn0kG0.jpg

Ссылка на сообщение
Поделиться на других сайтах


UnPinned posts
4 часа назад, alexeytur сказал:

Добрый день, как можно открыть диалог редактирования применяемости статуса из кода плагина ТС?

 

173d4e174880b5e2449e3c18b9355596.jpgAAAPxYl.jpg

 

BKn0kG0.jpg

 AbstractAIFUIApplication localAbstractAIFUIApplication = AIFUtility.getCurrentApplication();
              try
              {
                OpenCommand localOpenCommand = (OpenCommand)AifrcpPlugin.getSessionService().getDefaultSession().getOpenCommand(new Object[] { localAbstractAIFUIApplication.getDesktop(), comp });
                localOpenCommand.executeModeless();
              }
              catch (Exception localException)
              {
              
              }

 

Где comp это сам объект статуса, надеюсь он у вас есть)

Ссылка на сообщение
Поделиться на других сайтах
19 минут назад, butulec сказал:

 AbstractAIFUIApplication localAbstractAIFUIApplication = AIFUtility.getCurrentApplication();
              try
              {
                OpenCommand localOpenCommand = (OpenCommand)AifrcpPlugin.getSessionService().getDefaultSession().getOpenCommand(new Object[] { localAbstractAIFUIApplication.getDesktop(), comp });
                localOpenCommand.executeModeless();
              }
              catch (Exception localException)
              {
              
              }

 

Где comp это сам объект статуса, надеюсь он у вас есть)

 

 

Спасибо, а как заставить этот диалог висеть модально? Вызываю executeModal(), но код продолжает выполняться сразу за этой функцией.

Ссылка на сообщение
Поделиться на других сайтах

Попробуйте основной код пустить по другому потоку, и остановите его пока работаете со статусами, ну как вариант)

Ссылка на сообщение
Поделиться на других сайтах
11 минут назад, butulec сказал:

Попробуйте основной код пустить по другому потоку, и остановите его пока работаете со статусами, ну как вариант)

 

Но как поймать момент, когда юзер закрыл этот диалог редактирования статуса?

Ссылка на сообщение
Поделиться на других сайтах

Вставил код

 

AbstractAIFUIApplication localAbstractAIFUIApplication = AIFUtility.getCurrentApplication();
              try
              {
                OpenCommand localOpenCommand = (OpenCommand)AifrcpPlugin.getSessionService().getDefaultSession().getOpenCommand(new Object[] { localAbstractAIFUIApplication.getDesktop(), comp });
                localOpenCommand.executeModal();
              }
              catch (Exception localException)
              {
              
              }

 

в главную процедуру хэндлера и все равно, диалог стартует не модально.

 

Может, это можно как-нибудь сделать?

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, lexx174 сказал:

а через интерфейс диалог всегда модально открывается?

Да, относительно главного окна тимцентра он открывается модально. Но мой плагин создает диалог на основе SWT-шного Dialog, на нем есть кнопка и по нажатии на нее я хотел открывать стандартный диалог редактирования статуса, а он открывается не модально.

Ссылка на сообщение
Поделиться на других сайтах

откройте диалог с применяемостью не через ваш диалог, а напрямую из обработчика, и проверьте

Ссылка на сообщение
Поделиться на других сайтах
Только что, lexx174 сказал:

откройте диалог с применяемостью не через ваш диалог, а напрямую из обработчика, и проверьте

Также немодально открывается.

Ссылка на сообщение
Поделиться на других сайтах

попробуйте другой конструктор использовать

 

OpenCommand(AIFDesktop pAIFDesktop, Window pWindow, InterfaceAIFComponent pInterfaceAIFComponent)

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, lexx174 сказал:

попробуйте другой конструктор использовать

 

OpenCommand(AIFDesktop pAIFDesktop, Window pWindow, InterfaceAIFComponent pInterfaceAIFComponent)

Спасибо, попробую.

Ссылка на сообщение
Поделиться на других сайтах

Открывается он модально, то есть нельзя "пощелкать" по другим окнам пока не закроется окно с редактированием статуса

 

AbstractAIFUIApplication localAbstractAIFUIApplication = AIFUtility.getCurrentApplication();
              try
              {
                OpenCommand localOpenCommand = (OpenCommand)AifrcpPlugin.getSessionService().getDefaultSession().getOpenCommand(new Object[] { localAbstractAIFUIApplication.getDesktop(), comp });
                localOpenCommand.executeModal();
              }
              catch (Exception localException)
              {
              
              }

это стандартная классическая штука

Я думаю тут вопрос в том, чтобы приостановить выполнение кода, который идет, и продолжить его выполнение когда закроется эта стандартная форма редактирования статуса (если я правильно понял :D)

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, butulec сказал:

Открывается он модально, то есть нельзя "пощелкать" по другим окнам пока не закроется окно с редактированием статуса

 


AbstractAIFUIApplication localAbstractAIFUIApplication = AIFUtility.getCurrentApplication();
              try
              {
                OpenCommand localOpenCommand = (OpenCommand)AifrcpPlugin.getSessionService().getDefaultSession().getOpenCommand(new Object[] { localAbstractAIFUIApplication.getDesktop(), comp });
                localOpenCommand.executeModal();
              }
              catch (Exception localException)
              {
              
              }

это стандартная классическая штука

Я думаю тут вопрос в том, чтобы приостановить выполнение кода, который идет, и продолжить его выполнение когда закроется эта стандартная форма редактирования статуса (если я правильно понял :D)

Да так, открывается он как-бы модально, но после executeModal() выполнение сразу продолжается и не поймаешь момент закрытия этого диалога.

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, lexx174 сказал:

ваш диалог как открывается?напрямую в хэндлере или через operation или другой поток?

Мой из хэндлера

Ссылка на сообщение
Поделиться на других сайтах
16 минут назад, lexx174 сказал:

можете конструктор диалога вашего показать?

Показать не смогу, ибо сейчас в отпуске.  Но насколько помню, конструктор был тривиальный. А диалог редактирования статуса вызывался из обработчика Selection объекта SWT Button, на этом диалоге.

Ссылка на сообщение
Поделиться на других сайтах
29.07.2021 в 22:24, lexx174 сказал:

попробуйте другой конструктор использовать

 

OpenCommand(AIFDesktop pAIFDesktop, Window pWindow, InterfaceAIFComponent pInterfaceAIFComponent)

 

Скажите, где взять объект Window?

Передаю туда результат HandlerUtil.getActiveWorkbenchWindowChecked(event), выдает ошибку "java.lang.NoSuchMethodException: Unable to find the constructor for Class specification name [com.teamcenter.rac.commands.open.OpenCommand]"

 

30.07.2021 в 19:01, lexx174 сказал:

можете конструктор диалога вашего показать?

	    public TUDialog(Shell parentShell) {
	        super(parentShell);
	    }

	    @Override
	    protected void configureShell(Shell newShell)
	    {
	        super.configureShell(newShell);
	        newShell.setText("Создать межцеховое ТУ");
	        newShell.setSize(500,900);
	        final Image image = Activator.getDefault().getImageRegistry().get("icons/TU.png");
	        newShell.setImage(image);

	    }

Вот конструктор и метод configureShell.

Ссылка на сообщение
Поделиться на других сайтах

OpenCommand лежит в двух разных пакетах. Попробуйте другой пакет подключить

у вас com.teamcenter.rac.commands

а есть еще типа com.teamcenter.rac.aif.....

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • gudstartup
      когда рг не крутится привод должен быть в состоянии stanby если только реле  servo enable залипвет. а с другой стороны во время работы ошибка тоже возникает. если не мотор то привод виноваты пусть проверяет
    • Guhl
      Не знаю  Я бы индикацию на приводе смотрел по нагрузке.
    • gudstartup
      а где тогда ошибка по этому сигналу станок что с не зажатой головой едет работать или стоит. уж это электроавтоматика в первую очередь проверяет
    • Guhl
      Может не снимается сигнал "включения привода", потому что, например, не срабатывает сигнал "рг зажата"?
    • gudstartup
      @FitchKrause проверяйте кабели мотора и датчика прозвоните изоляцию мотора. подключитесь к приводу с помощью по и посмотрите может еще какие ошибки есть. если как вы пишите ошибка возникает даже во время простоя тогда для проверки отключите силовой кабель двигателя и посмотрите будет ли возникать ошибка если она перестанет появляться то дело в моторе или кабеле если нет тогда датчик или сам привод виноваты  
    • Bot
      ModuleWorks объявляет о выпуске своих программных компонентов 2024.04 для цифрового производства. Эта свежая версия ModuleWorks SDK содержит ряд новых функций для эффективного создания траекторий инструмента, от улучшений в 2-осевой обработке до многоосевой чистовой обработки поверхности. Смотреть полностью
    • FitchKrause
      Ошибка происходит даже если станок простаивает, его не клинит после смены инструмента, 30 минут работает без вопросов, а затем просто выдает ошибку и блокирует серво-турель. И проблема только с этим, по осям x и z, в режиме jog, ref и handle ходит спокойно. Манометры тоже не показывают каких либо проблем. "Кулачок", который держит заготовку тоже работает исправно.
    • Anat2015
      Не корректировать надо, а разбираться в причине перегрузки. Может у вас голова клинит где-то. Зажим у нее вроде бы гидравлический, по симптомам вполне возможно, что тут проблема.
    • TVM
      Согласен, что не всё так уж страшно, но повторюсь, не все так просто.
    • Koels
      Всем привет. Фанук Professional 3. Станок Makino V 55. Передодически вылазит ошибка "609 Z axis: inv. Radiator fan Failure". Вылазит она в рандомное время, может во время работы, может в простое станка. Менял вентеляторы на Ориг. Все привода включая этот полностью вымывал, до блеска. Сам по себе привод не горячий. Ещё до меня говорили, что эта ошибка была и раньше, они просто меняли привод на новый, тот работал пол года, выскакивала опять ошибка и по старой схеме, новый привод и на пол года. Щас мне нужно разобраться в чем дело, и сам понять не могу. Может можно как то в параметрах забить максимальную температуру для привода,  в книжках не видел такого
×
×
  • Создать...