public void paintReticle(final TableItem item) { if (cursor != null) { mapShell.removePaintListener(cursor); } cursor = new PaintListener() { public void paintControl(PaintEvent pe) { int x = 0, y = 0; float xF = 0.0F, yF = 0.0F; Entity entity = dp.entityList.get(new Integer(item.getText(0))); xF = RadarConsts.WINDOW_BUFFER + dp.maxX - entity.posXAxis; yF = entity.posYAxis - (dp.minY - RadarConsts.WINDOW_BUFFER); x = (int) (xF * boundsXScale); y = (int) (yF * boundsYScale); pe.gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE)); pe.gc.drawRectangle( x - (RadarConsts.POINT_RADIUS * 2), y - (RadarConsts.POINT_RADIUS * 2), (RadarConsts.POINT_RADIUS * 4) - 1, (RadarConsts.POINT_RADIUS * 4)); pe.gc.drawLine( x - (RadarConsts.POINT_RADIUS * 3), y, x + (RadarConsts.POINT_RADIUS * 3) - 1, y); pe.gc.drawLine( x, y - (RadarConsts.POINT_RADIUS * 3), x, y + (RadarConsts.POINT_RADIUS * 3) - 1); } }; mapShell.addPaintListener(cursor); mapShell.redraw(); }
public void positionWindow(boolean resetToDefault) { String mapWindow; mapShellBounds = mapShell.getBounds(); mapWindow = prefs.get(RadarConsts.PREF_KEY_MAP_WINDOW, ""); if (mapWindow.equals("") || resetToDefault) { Rectangle dispBounds, tableBounds; dispBounds = ((Display.getCurrent()).getPrimaryMonitor()).getClientArea(); tableBounds = display.getShells()[1].getBounds(); mapShellBounds.width = dispBounds.width - tableBounds.width; mapShellBounds.height = dispBounds.height; mapShellBounds.x = dispBounds.x + tableBounds.width; mapShellBounds.y = dispBounds.y; } else { String[] tokens = mapWindow.split(","); mapShellBounds = new Rectangle( new Integer(tokens[0]), // X value new Integer(tokens[1]), // Y value new Integer(tokens[2]), // Width new Integer(tokens[3]) // Height ); } mapShell.setBounds(mapShellBounds); }
private boolean findEntry() { Cursor waitCursor = shell.getDisplay().getSystemCursor(SWT.CURSOR_WAIT); shell.setCursor(waitCursor); boolean matchCase = searchDialog.getMatchCase(); boolean matchWord = searchDialog.getMatchWord(); String searchString = searchDialog.getSearchString(); int column = searchDialog.getSelectedSearchArea(); searchString = matchCase ? searchString : searchString.toLowerCase(); boolean found = false; if (searchDialog.getSearchDown()) { for (int i = table.getSelectionIndex() + 1; i < table.getItemCount(); i++) { if (found = findMatch(searchString, table.getItem(i), column, matchWord, matchCase)) { table.setSelection(i); break; } } } else { for (int i = table.getSelectionIndex() - 1; i > -1; i--) { if (found = findMatch(searchString, table.getItem(i), column, matchWord, matchCase)) { table.setSelection(i); break; } } } shell.setCursor(null); return found; }
private void runSession() { while (true) { shell = arseGUI.open(display); initializeARSE(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } if (gameMasterMode) { gameMasterSession = new GameMasterSession(display); gameMasterSession.open(); gameMasterMode = false; } else if (playerMode) { playerLoginGUI = new PlayerLoginGUI(); playerSession = new PlayerSession(display); shell = playerLoginGUI.open(display); initializePlayerLoginGUI(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } if (playerSession.loggedIn()) { playerSession.open(); } playerMode = false; } else break; } }
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new RowLayout()); DateTime calendar = new DateTime(shell, SWT.CALENDAR); calendar.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { System.out.println("calendar date changed"); } }); DateTime time = new DateTime(shell, SWT.TIME); time.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { System.out.println("time changed"); } }); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
public View(Controller controller) { this.controller = controller; display = new Display(); shell = new Shell(display); shell.setText("Gallant Animation Viewer"); shell.setLayout(new GridLayout()); }
public static void main(String[] args) { Display display = new Display(); AddressBook application = new AddressBook(); Shell shell = application.open(display); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
public void clearMap(boolean performRedraw) { Listener[] painters; painters = mapShell.getListeners(SWT.Paint); for (int i = 0; i < painters.length; i++) mapShell.removeListener(SWT.Paint, painters[i]); if (performRedraw) mapShell.redraw(); }
public static void runInUI(@Nullable Shell shell, @NotNull Runnable runnable) { final Display display = shell == null || shell.isDisposed() ? Display.getDefault() : shell.getDisplay(); if (display.getThread() != Thread.currentThread()) { display.syncExec(runnable); } else { runnable.run(); } }
/** Initialize all ui elements, and then display the window */ public void Initialize() { initMenu(); initToolbar(); initCanvas(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } }
public Shell open(Display display) { shell = new Shell(display); shell.setLayout(new FillLayout()); shell.addShellListener( new ShellAdapter() { @Override public void shellClosed(ShellEvent e) { e.doit = closeAddressBook(); } }); createMenuBar(); searchDialog = new SearchDialog(shell); searchDialog.setSearchAreaNames(columnNames); searchDialog.setSearchAreaLabel(resAddressBook.getString("Column")); searchDialog.addFindListener( new FindListener() { public boolean find() { return findEntry(); } }); table = new Table(shell, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION); table.setHeaderVisible(true); table.setMenu(createPopUpMenu()); table.addSelectionListener( new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { TableItem[] items = table.getSelection(); if (items.length > 0) editEntry(items[0]); } }); for (int i = 0; i < columnNames.length; i++) { TableColumn column = new TableColumn(table, SWT.NONE); column.setText(columnNames[i]); column.setWidth(150); final int columnIndex = i; column.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { sort(columnIndex); } }); } newAddressBook(); shell.setSize(table.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, 300); shell.open(); return shell; }
public void fireFileObjectDoubleClicked(FileObject selectedItem) { if (fileDialogMode != VFS_DIALOG_SAVEAS) { // let's try drilling into the file as a new vfs root first String scheme = null; if (selectedItem.getName().getExtension().contains("jar")) { scheme = "jar:"; } else if (selectedItem.getName().getExtension().contains("zip")) { scheme = "zip:"; } else if (selectedItem.getName().getExtension().contains("gz")) { scheme = "gz:"; } else if (selectedItem.getName().getExtension().contains("war")) { scheme = "war:"; } else if (selectedItem.getName().getExtension().contains("ear")) { scheme = "ear:"; } else if (selectedItem.getName().getExtension().contains("sar")) { scheme = "sar:"; } else if (selectedItem.getName().getExtension().contains("tar")) { scheme = "tar:"; } else if (selectedItem.getName().getExtension().contains("tbz2")) { scheme = "tbz2:"; } else if (selectedItem.getName().getExtension().contains("tgz")) { scheme = "tgz:"; } else if (selectedItem.getName().getExtension().contains("bz2")) { scheme = "bz2:"; } if (scheme != null) { try { FileObject jarFileObject = selectedItem .getFileSystem() .getFileSystemManager() .resolveFile(scheme + selectedItem.getName().getURI()); vfsBrowser.resetVfsRoot(jarFileObject); updateParentFileCombo(jarFileObject); vfsBrowser.fileSystemTree.forceFocus(); } catch (FileSystemException e) { e.printStackTrace(); okPressed = true; hideCustomPanelChildren(); dialog.dispose(); } } else { okPressed = true; hideCustomPanelChildren(); dialog.dispose(); } } else { // anything? } }
public static void main(String[] args) { Display display = new Display(); MessageWindow application = new MessageWindow(); Shell shell = application.open(display); if (args.length != 0) { application.openAddressBook(args[0]); } while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
/** * Initialize the toolbar with icons and selection listeners in the appropriate part of the window */ public void initToolbar() { Device dev = shell.getDisplay(); try { exitImg = new Image(dev, "img/exit.png"); // openImg = new Image(dev, "img/open.png"); playImg = new Image(dev, "img/play.png"); // pauseImg = new Image(dev, "img/pause.png"); } catch (Exception e) { System.out.println("Cannot load images"); System.out.println(e.getMessage()); System.exit(1); } ToolBar toolBar = new ToolBar(shell, SWT.BORDER); GridData gridData = new GridData(); gridData.horizontalAlignment = GridData.FILL; gridData.grabExcessHorizontalSpace = true; toolBar.setLayoutData(gridData); ToolItem exit = new ToolItem(toolBar, SWT.PUSH); exit.setImage(exitImg); // ToolItem open = new ToolItem(toolBar, SWT.PUSH); // exit.setImage(openImg); ToolItem play = new ToolItem(toolBar, SWT.PUSH); play.setImage(playImg); // ToolItem pause = new ToolItem(toolBar, SWT.PUSH); // pause.setImage(pauseImg); toolBar.pack(); exit.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { System.exit(0); } }); // open.addSelectionListener(new SelectionAdapter() { // @Override // public void widgetSelected(SelectionEvent e) { // FileDialog dialog = new FileDialog(shell, SWT.NULL); // String path = dialog.open(); // } // }); play.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { controller.RunAnimation(); } }); }
/** * Sets the control that is used to fill the bounds of the item when the item is a <code>SEPARATOR * </code>. * * @param control the new control * @exception IllegalArgumentException * <ul> * <li>ERROR_INVALID_ARGUMENT - if the control has been disposed * <li>ERROR_INVALID_PARENT - if the control is not in the same widget tree * </ul> * * @exception SWTException * <ul> * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * </ul> */ public void setControl(Control control) { checkWidget(); if (control != null) { if (control.isDisposed()) error(SWT.ERROR_INVALID_ARGUMENT); if (control.parent != parent) error(SWT.ERROR_INVALID_PARENT); } if ((style & SWT.SEPARATOR) == 0) return; if (this.control == control) return; this.control = control; int[] argList = { OS.XmNseparatorType, control == null ? ((parent.style & SWT.FLAT) != 0 ? OS.XmSHADOW_ETCHED_IN : OS.XmSHADOW_ETCHED_OUT) : OS.XmNO_LINE, }; OS.XtSetValues(handle, argList, argList.length / 2); if (control != null && !control.isDisposed()) { /* * It is possible that the control was created with a * z-order below that of the current tool item. In this * case, the control is not visible because it is * obscured by the tool item. The fix is to move the * control above this tool item in the z-order. * The code below is similar to the code found in * setZOrder. */ int xDisplay = OS.XtDisplay(handle); if (xDisplay == 0) return; if (!OS.XtIsRealized(handle)) { Shell shell = parent.getShell(); shell.realizeWidget(); } int topHandle1 = control.topHandle(); int window1 = OS.XtWindow(topHandle1); if (window1 == 0) return; int topHandle2 = this.topHandle(); int window2 = OS.XtWindow(topHandle2); if (window2 == 0) return; XWindowChanges struct = new XWindowChanges(); struct.sibling = window2; struct.stack_mode = OS.Above; int screen = OS.XDefaultScreen(xDisplay); int flags = OS.CWStackMode | OS.CWSibling; OS.XReconfigureWMWindow(xDisplay, window1, screen, flags, struct); } parent.relayout(); }
private boolean save() { if (file == null) return saveAs(); Cursor waitCursor = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT); shell.setCursor(waitCursor); TableItem[] items = table.getItems(); String[] lines = new String[items.length]; for (int i = 0; i < items.length; i++) { String[] itemText = new String[table.getColumnCount()]; for (int j = 0; j < itemText.length; j++) { itemText[j] = items[i].getText(j); } lines[i] = encodeLine(itemText); } FileWriter fileWriter = null; try { fileWriter = new FileWriter(file.getAbsolutePath(), false); for (int i = 0; i < lines.length; i++) { fileWriter.write(lines[i]); } } catch (FileNotFoundException e) { displayError(resMessages.getString("File_not_found") + "\n" + file.getName()); return false; } catch (IOException e) { displayError(resMessages.getString("IO_error_write") + "\n" + file.getName()); return false; } finally { shell.setCursor(null); waitCursor.dispose(); if (fileWriter != null) { try { fileWriter.close(); } catch (IOException e) { displayError(resMessages.getString("IO_error_close") + "\n" + file.getName()); return false; } } } shell.setText(resMessages.getString("Title_bar") + file.getName()); isModified = false; return true; }
public void setTitle(String title, boolean append) { String text; if (append == true) { text = RadarConsts.PROGRAM_NAME + " " + RadarConsts.VERSION + " - " + title; } else { text = title; } mapShell.setText(text); }
public TermWinUI(Shell parent) { self = new Shell(parent, SWT.SHELL_TRIM); self.setLayout(new GridLayout()); mainPane = new Composite(self, SWT.NONE); mainPane.setLayout(new GridLayout(3, false)); mainPane.setLayoutData(new GridData(GridData.FILL_BOTH)); createContent(); }
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new GridLayout(2, false)); final Text text = new Text(shell, SWT.SEARCH | SWT.ICON_CANCEL); Image image = null; if ((text.getStyle() & SWT.ICON_CANCEL) == 0) { image = display.getSystemImage(SWT.ICON_ERROR); ToolBar toolBar = new ToolBar(shell, SWT.FLAT); ToolItem item = new ToolItem(toolBar, SWT.PUSH); item.setImage(image); item.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { text.setText(""); System.out.println("Search cancelled"); } }); } text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); text.setText("Search text"); text.addSelectionListener( new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { if (e.detail == SWT.CANCEL) { System.out.println("Search cancelled"); } else { System.out.println("Searching for: " + text.getText() + "..."); } } }); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } if (image != null) image.dispose(); display.dispose(); }
public static void runInDetachedUI(@Nullable Shell shell, @NotNull Runnable runnable) { if (shell == null) { Display.getDefault().asyncExec(runnable); } else { try { shell.getDisplay().asyncExec(runnable); } catch (SWTException e) { // DF: Widget has been disposed, too late for some processing then.. } } }
MapShell(Display parent) { display = parent; mapShell = new Shell(display, SWT.MIN | SWT.CLOSE | SWT.RESIZE); mapShell.setText(RadarConsts.PROGRAM_NAME + " " + RadarConsts.VERSION); mapShell.addDisposeListener( new DisposeListener() { public void widgetDisposed(DisposeEvent e) { saveWindowPosition(); } }); mapShell.addListener( SWT.Resize, new Listener() { public void handleEvent(Event event) { renderMap(); } }); mapShell.setBackground(parent.getSystemColor(SWT.COLOR_BLACK)); }
public void renderMap() { Entity entity; PaintListener playerIcon = null; if (dp == null) return; setBoundaryScalers(); clearMap(false); playerZPos = dp.getEntity(dp.playerObjectID).posZAxis; for (int i = dp.entityKeys.length - 1; i >= 0; i--) { entity = dp.entityList.get(dp.entityKeys[i]); if (entity.entityName.equals("")) { continue; } if (isEntityIgnorable(entity.entityType)) { // But don't skip them if they matches the custom text., java.util.regex.Pattern p = java.util.regex.Pattern.compile(customString.toLowerCase()); Matcher m = p.matcher(entity.entityName.toLowerCase()); if (!useCustomString || customString.equals("")) { continue; } else if (!m.find()) { continue; } } if (entity.entityType != Entity.TYPE_PLAYER) { mapShell.addPaintListener(paintGraph(entity)); } else { playerIcon = paintGraph(entity); } } if (playerIcon != null) { mapShell.addPaintListener(playerIcon); } mapShell.redraw(); }
public void setBoundaryScalers() { int demoWidth = 1, demoHeight = 1; mapShellBounds = mapShell.getBounds(); if (dp != null) { demoWidth = (dp.maxX - dp.minX) + (RadarConsts.WINDOW_BUFFER * 2); demoHeight = (dp.maxY - dp.minY) + (RadarConsts.WINDOW_BUFFER * 2); } boundsXScale = (float) mapShellBounds.width / demoWidth; boundsYScale = (float) mapShellBounds.height / demoHeight; }
/** * Creates the menu at the top of the shell where most of the programs functionality is accessed. * * @return The <code>Menu</code> widget that was created */ private Menu createMenuBar() { Menu menuBar = new Menu(shell, SWT.BAR); shell.setMenuBar(menuBar); // create each header and subMenu for the menuBar createFileMenu(menuBar); createEditMenu(menuBar); createSearchMenu(menuBar); createHelpMenu(menuBar); return menuBar; }
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new RowLayout()); Text text = new Text(shell, SWT.MULTI | SWT.BORDER); String modifier = SWT.MOD1 == SWT.CTRL ? "Ctrl" : "Command"; text.setText("Hit " + modifier + "+Return\nto see\nthe default button\nrun"); text.addTraverseListener( e -> { switch (e.detail) { case SWT.TRAVERSE_RETURN: if ((e.stateMask & SWT.MOD1) != 0) e.doit = true; } }); Button button = new Button(shell, SWT.PUSH); button.pack(); button.setText("OK"); button.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { System.out.println("OK selected"); } }); shell.setDefaultButton(button); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
public static void main(String[] args) { Display display = Display.getDefault(); Shell shell = new Shell(display); @SuppressWarnings("unused") MainWindow inst = new MainWindow(shell, SWT.NULL); shell.setLayout(new FillLayout()); shell.setImage(SWTResourceManager.getImage("images/16x16.png")); shell.setText("Change This Title"); shell.setBackgroundImage(SWTResourceManager.getImage("images/ToolbarBackground.gif")); shell.layout(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } }
public void okPressed() { if (fileDialogMode == VFS_DIALOG_SAVEAS && "".equals(fileNameText.getText())) { // $NON-NLS-1$ // do nothing, user did not enter a file name for saving MessageBox messageDialog = new MessageBox(dialog, SWT.OK); messageDialog.setText(Messages.getString("VfsFileChooserDialog.error")); // $NON-NLS-1$ messageDialog.setMessage( Messages.getString("VfsFileChooserDialog.noFilenameEntered")); // $NON-NLS-1$ messageDialog.open(); return; } if (fileDialogMode == VFS_DIALOG_SAVEAS) { try { FileObject toBeSavedFile = vfsBrowser.getSelectedFileObject().resolveFile(fileNameText.getText()); if (toBeSavedFile.exists()) { MessageBox messageDialog = new MessageBox(dialog, SWT.YES | SWT.NO); messageDialog.setText( Messages.getString("VfsFileChooserDialog.fileExists")); // $NON-NLS-1$ messageDialog.setMessage( Messages.getString("VfsFileChooserDialog.fileExistsOverwrite")); // $NON-NLS-1$ int flag = messageDialog.open(); if (flag == SWT.NO) { return; } } } catch (FileSystemException e) { e.printStackTrace(); } } if (fileDialogMode == VFS_DIALOG_SAVEAS) { enteredFileName = fileNameText.getText(); } try { if (fileDialogMode == VFS_DIALOG_OPEN_FILE && vfsBrowser.getSelectedFileObject().getType().equals(FileType.FOLDER)) { // try to open this node, it is a directory vfsBrowser.selectTreeItemByFileObject(vfsBrowser.getSelectedFileObject(), true); return; } } catch (FileSystemException e) { } okPressed = true; hideCustomPanelChildren(); dialog.dispose(); }
public void saveWindowPosition() { String prefLine; mapShellBounds = mapShell.getBounds(); prefLine = "" + mapShellBounds.x + "," + mapShellBounds.y + "," + mapShellBounds.width + "," + mapShellBounds.height; prefs.put(RadarConsts.PREF_KEY_MAP_WINDOW, prefLine); }
private void selectCustomUI() { hideCustomPanelChildren(); String desiredScheme = customUIPicker.getText(); for (CustomVfsUiPanel panel : customUIPanels) { if (desiredScheme.equals(panel.getVfsSchemeDisplayText())) { panel.setParent(customUIPanel); panel.activate(); currentPanel = panel; } } if (currentPanel == null) { currentPanel = customUIPanels.get(0); currentPanel.setParent(customUIPanel); currentPanel.activate(); } customUIPanel.pack(); dialog.layout(); }
private boolean closeAddressBook() { if (isModified) { // ask user if they want to save current address book MessageBox box = new MessageBox(shell, SWT.ICON_WARNING | SWT.YES | SWT.NO | SWT.CANCEL); box.setText(shell.getText()); box.setMessage(resAddressBook.getString("Close_save")); int choice = box.open(); if (choice == SWT.CANCEL) { return false; } else if (choice == SWT.YES) { if (!save()) return false; } } TableItem[] items = table.getItems(); for (int i = 0; i < items.length; i++) { items[i].dispose(); } return true; }