protected void layout() { Rectangle parentArea = this.composite.getClientArea(); int width = parentArea.width; int height = parentArea.height; Rectangle sashBounds = sash.getBounds(); resultText.setBounds(0, 0, width, sashBounds.y); userText.setBounds(0, sashBounds.y + 3, width, height - sashBounds.y - 3); sash.setBounds(0, sashBounds.y, width, 3); }
protected void resized() { Rectangle parentArea = this.composite.getClientArea(); int width = parentArea.width; int height = parentArea.height; int userTextHeight = (int) (height * (1 - defaultRatio)); if (userTextHeight < 25) userTextHeight = 25; resultText.setBounds(0, 0, width, height - userTextHeight - 3); userText.setBounds(0, height - userTextHeight, width, userTextHeight); sash.setBounds(0, height - userTextHeight - 3, width, 3); }
private void updateSizeAndLocations() { if (busyLabel == null || busyLabel.isDisposed()) { return; } Point leftToolBarSize = new Point(0, 0); if (leftToolBar != null && !leftToolBar.isDisposed()) { // bottom align tool bar in title region leftToolBarSize = leftToolBar.getSize(); int y = leftToolBar.getParent().getSize().y - leftToolBarSize.y - 2; if (!hasLeftToolBar()) { // hide tool bar to avoid overlaying busyLabel on windows leftToolBarSize.x = 0; } leftToolBar.setBounds(busyLabel.getLocation().x, y, leftToolBarSize.x, leftToolBarSize.y); } if (titleLabel != null && !titleLabel.isDisposed()) { // center align title text in title region Point size = titleLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT, true); int y = (titleLabel.getParent().getSize().y - size.y) / 2; titleLabel.setBounds( busyLabel.getLocation().x + LEFT_TOOLBAR_HEADER_TOOLBAR_PADDING + leftToolBarSize.x, y, size.x, size.y); } }
private void changeTemplateSize() { templateCode.pack(); Font font; if (templateCode.getBounds().height > templateCodeGroup.getBounds().height) font = new Font(mainPageComposite.getDisplay(), "Courier New", 10, SWT.NORMAL); else font = new Font(mainPageComposite.getDisplay(), "Courier New", 14, SWT.NORMAL); templateCode.setFont(font); templateCode.setBounds( 10, this.getLowerRightCoordinate(checkbox_HighlightSmellCode).y + 5, 500, 170); selectComposite.pack(); }
/** * 建立Page外觀View * * @param composite */ private void buildPage(Composite composite) { selectComposite = new Composite(composite, SWT.NONE); // addLibBtn = new Button(composite, SWT.PUSH); // addLibBtn.setText("Add Tag Library"); // addLibBtn.setLocation(getBoundsPoint(detAllBtn).x + 20, 10); // addLibBtn.pack(); // addLibBtn.addSelectionListener(new SelectionAdapter() { // @Override // public void widgetSelected(SelectionEvent e) { // ISelectionService selectionService = // Workbench.getInstance().getActiveWorkbenchWindow().getSelectionService(); // ISelection selection = selectionService.getSelection(); // IProject project = null; // if(selection instanceof IStructuredSelection) { // Object element = ((IStructuredSelection)selection).getFirstElement(); // if (element instanceof IResource) { // project= ((IResource)element).getProject(); // } else if (element instanceof PackageFragmentRootContainer) { // IJavaProject jProject = ((PackageFragmentRootContainer)element).getJavaProject(); // project = jProject.getProject(); // } else if (element instanceof IJavaElement) { // IJavaProject jProject= ((IJavaElement)element).getJavaProject(); // project = jProject.getProject(); // } // } else if (selection instanceof ITextSelection) { // System.out.println("Fail"); // return; // } // File lib = new File(project.getLocation().toFile().getPath() + "/lib"); // if(!lib.exists()) // lib.mkdir(); // File jar = new File(project.getLocation().toFile().getPath() + "/lib/Tag.jar"); // JarFileMaker jarFileMaker = new JarFileMaker(); // File test = new File("bin"); // jarFileMaker.createJarFile(jar, test, "ntut.csie.robusta.agile.exception"); // } // }); // 上半部,選擇要偵測的Smell群組 smellTypeGroup = new Group(selectComposite, SWT.NONE); smellTypeGroup.setText(resource.getString("settingPage.smell.type")); smellTypeGroup.setLocation(10, 5); // 是否要選擇性偵測的Button checkbox_DetectAllSmells = new Button(smellTypeGroup, SWT.CHECK); checkbox_DetectAllSmells.setText(resource.getString("check.all.smell")); checkbox_DetectAllSmells.setLocation(10, 20); checkbox_DetectAllSmells.pack(); checkbox_DetectAllSmells.setSelection(isDetectingAllSmells); checkbox_DetectAllSmells.addSelectionListener( new SelectionAdapter() { public void widgetSelected(final SelectionEvent e) { isDetectingAllSmells = !isDetectingAllSmells; setUserSetting(); } }); // 選擇EH Smell List smellList = new Table( smellTypeGroup, SWT.CHECK | SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER | SWT.HIDE_SELECTION); smellList.setLocation( checkbox_DetectAllSmells.getBounds().x, checkbox_DetectAllSmells.getBounds().y + checkbox_DetectAllSmells.getBounds().height); smellList.setFont(new Font(composite.getDisplay(), "Arial", 11, SWT.NONE)); smellList.setLinesVisible(true); smellList.setHeaderVisible(true); smellList.setItemCount(7); final TableColumn smellColumn = new TableColumn(smellList, SWT.NONE); String smellColumnDisplayText = resource.getString("settingPage.smell.type"); smellColumn.setText(smellColumnDisplayText); smellColumn.setWidth(smellColumnDisplayText.length() * 9); // 自動調整bad smell Type Column的大小 smellColumn.pack(); final TableColumn descColumn = new TableColumn(smellList, SWT.NONE); descColumn.setText(resource.getString("settingPage.smell.description")); for (int i = 0; i < RLMarkerAttribute.CS_TOTAL_TYPE.length; i++) { TableItem item = smellList.getItem(i); item.setText(0, RLMarkerAttribute.CS_TOTAL_TYPE[i].replace('_', ' ')); item.setFont(0, new Font(composite.getDisplay(), "Arial", 11, SWT.BOLD)); item.setText(1, descText[i]); } // 自動調整bad smell Description Column的大小 descColumn.pack(); // 自動調整設定主頁面上半部視窗的大小 smellList.pack(); smellTypeGroup.pack(); // Template Group templateCodeGroup = new Group(selectComposite, SWT.NONE); templateCodeGroup.setText(resource.getString("settingPage.codeExample")); templateCodeGroup.setLocation(10, getLowerRightCoordinate(smellTypeGroup).y + 5); // 是否要醒目標記程式碼 checkbox_HighlightSmellCode = new Button(templateCodeGroup, SWT.CHECK); checkbox_HighlightSmellCode.setText(resource.getString("settingPage.codeExample.highlight")); checkbox_HighlightSmellCode.setLocation(10, 20); checkbox_HighlightSmellCode.pack(); checkbox_HighlightSmellCode.addSelectionListener( new SelectionAdapter() { public void widgetSelected(final SelectionEvent e) { isShowWarning = checkbox_HighlightSmellCode.getSelection(); int index = smellList.getSelectionIndex(); if (index != -1) { changeTemplateText(index); } } }); // Template Text templateCode = new StyledText(templateCodeGroup, SWT.BORDER | SWT.V_SCROLL); templateCode.setBounds( 10, this.getLowerRightCoordinate(checkbox_HighlightSmellCode).y, 500, 170); templateCode.setText(""); Font font = new Font(composite.getDisplay(), "Courier New", 14, SWT.NORMAL); templateCode.setFont(font); templateCodeGroup.pack(); // 自動調整設定主頁面Container的大小 selectComposite.pack(); selectComposite.setSize( getLowerRightCoordinate(smellTypeGroup).x + 15, selectComposite.getBounds().height); }
/** Open the window. */ public void open() { display = Display.getDefault(); shlSenderWindow = new Shell(); shlSenderWindow.setSize(373, 600); shlSenderWindow.setText("Receiver Window"); Label senderNameLabel = new Label(shlSenderWindow, SWT.NONE); senderNameLabel.setBounds(23, 146, 111, 17); senderNameLabel.setText("Sender Name"); senderNameText = new Text(shlSenderWindow, SWT.BORDER); senderNameText.setBounds(155, 136, 183, 27); Label recepientNameLabel = new Label(shlSenderWindow, SWT.NONE); recepientNameLabel.setBounds(23, 182, 111, 17); recepientNameLabel.setText("Recepient Name"); recepientNameText = new Text(shlSenderWindow, SWT.BORDER); recepientNameText.setBounds(155, 172, 183, 27); Label TicketIdLabel = new Label(shlSenderWindow, SWT.NONE); TicketIdLabel.setBounds(23, 215, 111, 17); TicketIdLabel.setText("Ticket ID"); messageIDText = new Text(shlSenderWindow, SWT.BORDER); messageIDText.setBounds(155, 205, 183, 27); Label ticketLabel = new Label(shlSenderWindow, SWT.NONE); ticketLabel.setBounds(23, 251, 70, 17); ticketLabel.setText("Ticket"); ticketText = new StyledText(shlSenderWindow, SWT.BORDER); ticketText.setBounds(10, 287, 347, 183); closeButton = new Button(shlSenderWindow, SWT.NONE); closeButton.setBounds(233, 532, 105, 29); closeButton.setText("Close"); closeButton.addSelectionListener(this); queueList = new List(shlSenderWindow, SWT.V_SCROLL | SWT.H_SCROLL); queueList.setBounds(23, 33, 111, 92); Label queueToConnectLabel = new Label(shlSenderWindow, SWT.NONE); queueToConnectLabel.setBounds(10, 10, 124, 17); queueToConnectLabel.setText("Queue to connect"); retrieveMessageButton = new Button(shlSenderWindow, SWT.NONE); retrieveMessageButton.setBounds(191, 65, 122, 29); retrieveMessageButton.setText("Retrieve Message"); retrieveMessageButton.addSelectionListener(this); UpdateExchangeList(MessageReceiverHighLevelClass.GetQueueList()); shlSenderWindow.open(); shlSenderWindow.layout(); while (!shlSenderWindow.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } }
/** This method initializes sShell */ private void createSShell() { sShell = new Shell(); sShell.setText("Hosts Juggler"); sShell.setLayout(null); sShell.setSize(new Point(726, 766)); /* * Menu */ final Menu m = new Menu(sShell, SWT.BAR); sShell.setMenuBar(m); /* Hosts File */ // create a file menu and add an exit item final MenuItem file = new MenuItem(m, SWT.CASCADE); file.setText("&Hosts File"); final Menu filemenu = new Menu(sShell, SWT.DROP_DOWN); file.setMenu(filemenu); final MenuItem openItem = new MenuItem(filemenu, SWT.CASCADE); openItem.setText("&Open"); final Menu submenu = new Menu(sShell, SWT.DROP_DOWN); openItem.setMenu(submenu); final MenuItem childItem = new MenuItem(submenu, SWT.PUSH); childItem.setText("&Child\tCTRL+C"); childItem.setAccelerator(SWT.CTRL + 'C'); final MenuItem dialogItem = new MenuItem(submenu, SWT.PUSH); dialogItem.setText("&Dialog\tCTRL+D"); dialogItem.setAccelerator(SWT.CTRL + 'D'); final MenuItem separator = new MenuItem(filemenu, SWT.SEPARATOR); final MenuItem exitItem = new MenuItem(filemenu, SWT.PUSH); exitItem.setText("E&xit"); // create an edit menu and add cut copy and paste items final MenuItem edit = new MenuItem(m, SWT.CASCADE); edit.setText("&Edit"); final Menu editmenu = new Menu(sShell, SWT.DROP_DOWN); edit.setMenu(editmenu); final MenuItem cutItem = new MenuItem(editmenu, SWT.PUSH); cutItem.setText("&Cut"); final MenuItem copyItem = new MenuItem(editmenu, SWT.PUSH); copyItem.setText("Co&py"); final MenuItem pasteItem = new MenuItem(editmenu, SWT.PUSH); pasteItem.setText("&Paste"); // create an options menu and add menu items final MenuItem options = new MenuItem(m, SWT.CASCADE); options.setText("&Options"); final Menu optionsmenu = new Menu(sShell, SWT.DROP_DOWN); options.setMenu(optionsmenu); final MenuItem checkItem = new MenuItem(optionsmenu, SWT.CHECK); checkItem.setText("&Checked Option"); final MenuItem optionsseparator = new MenuItem(optionsmenu, SWT.SEPARATOR); final MenuItem radioItem1 = new MenuItem(optionsmenu, SWT.RADIO); radioItem1.setText("Radio &One"); final MenuItem radioItem2 = new MenuItem(optionsmenu, SWT.RADIO); radioItem2.setText("Radio &Two"); // create a Window menu and add Child item final MenuItem window = new MenuItem(m, SWT.CASCADE); window.setText("&Window"); final Menu windowmenu = new Menu(sShell, SWT.DROP_DOWN); window.setMenu(windowmenu); final MenuItem maxItem = new MenuItem(windowmenu, SWT.PUSH); maxItem.setText("Ma&ximize"); final MenuItem minItem = new MenuItem(windowmenu, SWT.PUSH); minItem.setText("Mi&nimize"); // create a Help menu and add an about item final MenuItem help = new MenuItem(m, SWT.CASCADE); help.setText("&Help"); final Menu helpmenu = new Menu(sShell, SWT.DROP_DOWN); help.setMenu(helpmenu); final MenuItem aboutItem = new MenuItem(helpmenu, SWT.PUSH); aboutItem.setText("&About"); // /* File */ // MenuItem fileItem = new MenuItem (menuBar, SWT.CASCADE); // fileItem.setText("&Hosts File"); // // Menu submenu = new Menu(sShell, SWT.DROP_DOWN); // fileItem.setMenu(submenu); // MenuItem menuItem = new MenuItem (submenu, SWT.PUSH); // menuItem.addListener(SWT.Selection, new Listener() // { // public void handleEvent(Event e) // { // System.out.println ("Create"); // } // }); // menuItem.setText("Create &New\tCtrl+N"); // menuItem.setAccelerator(SWT.MOD1 + 'N'); /* * Active hosts file location */ label = new Label(sShell, SWT.NONE); label.setBounds(new Rectangle(15, 10, 692, 15)); switchHostsFileButton = new Button(sShell, SWT.NONE); switchHostsFileButton.setBounds(new Rectangle(330, 682, 103, 26)); switchHostsFileButton.setText("Switch"); switchHostsFileButton.addSelectionListener( new org.eclipse.swt.events.SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) {} @Override public void widgetSelected(SelectionEvent e) { openSwitchDialog(sShell); } }); minimizeToTrayButton = new Button(sShell, SWT.NONE); minimizeToTrayButton.setBounds(new Rectangle(451, 682, 108, 28)); minimizeToTrayButton.setText("Hide"); exitButton = new Button(sShell, SWT.NONE); exitButton.setBounds(new Rectangle(574, 683, 117, 28)); exitButton.setText("Exit"); /* * Active file */ activeHostsFileStyledText = new StyledText(sShell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.READ_ONLY); activeHostsFileStyledText.setText(""); activeHostsFileStyledText.setTabs(5); activeHostsFileStyledText.setBounds(new Rectangle(15, 33, 694, 616)); }