1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package uraxis.toolbar;
- import com.ur.urcap.api.contribution.toolbar.ToolbarAPIProvider;
- import com.ur.urcap.api.contribution.toolbar.ToolbarContext;
- import com.ur.urcap.api.contribution.toolbar.swing.SwingToolbarContribution;
- import com.ur.urcap.api.domain.io.DigitalIO;
- import com.ur.urcap.api.domain.io.IO;
- import com.ur.urcap.api.domain.io.IOModel;
- import uraxis.Activator;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.util.*;
- import java.util.Timer;
- class MyToolbarContribution implements SwingToolbarContribution {
- private static final int VERTICAL_SPACE = 10;
- private static final int HEADER_FONT_SIZE = 24;
- private final ToolbarContext context;
- private final ToolbarAPIProvider apiProvider;
- private final IOHandler ioHandler;
- private JLabel demoToolStatus;
- private HashMap<String, JCheckBox> boxes=new HashMap<>();
- private DigitalIO out0,out1, in0, in1;
- MyToolbarContribution(ToolbarContext context) {
- this.context = context;
- this.apiProvider = context.getAPIProvider();
- this.ioHandler = new IOHandler(this.apiProvider.getApplicationAPI().getIOModel());
- }
- @Override
- public void openView() {
- IOModel ioModel = apiProvider.getApplicationAPI().getIOModel();
- Collection<IO> ios = ioModel.getIOs();
- }
- private void InitializeIO() {
- out0 = ioHandler.getDigitalIO("tool_out[0]");
- out1 = ioHandler.getDigitalIO("tool_out[1]");
- in0 = ioHandler.getDigitalIO("tool_in[0]");
- in1 = ioHandler.getDigitalIO("tool_in[1]");
- }
- @Override
- public void closeView() {
- }
- public void buildUI(JPanel jPanel) {
- jPanel.setLayout(new BoxLayout(jPanel, BoxLayout.Y_AXIS));
- jPanel.add(createHeader());
- jPanel.add(createVerticalSpace());
- jPanel.add(createButtons());
- jPanel.add(createInfo());
- }
- private Box createHeader() {
- Box headerBox = Box.createHorizontalBox();
- headerBox.setAlignmentX(Component.CENTER_ALIGNMENT);
- JLabel header = new JLabel("Festo Axis Control");
- header.setFont(header.getFont().deriveFont(Font.BOLD, HEADER_FONT_SIZE));
- headerBox.add(header);
- return headerBox;
- }
- private Box createButtons() {
- Box box = Box.createHorizontalBox();
- return box;
- }
- private Box createInfo() {
- Box infoBox = Box.createVerticalBox();
- infoBox.setAlignmentX(Component.CENTER_ALIGNMENT);
- demoToolStatus = new JLabel();
- demoToolStatus.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
- infoBox.add(demoToolStatus);
- return infoBox;
- }
- private Component createVerticalSpace() {
- return Box.createRigidArea(new Dimension(0, VERTICAL_SPACE));
- }
- private void updateText(String text) {
- SwingUtilities.invokeLater(() -> demoToolStatus.setText("<HTML>" + text +"</HTML>"));
- }
- }
|