/** * Update the specified item with the new info from the resource descriptor. Create a new table * item if there is no item. * * @param index index of the resource descriptor * @param itemPos position of the existing item to update * @param itemCount number of items in the resources table widget */ private void updateItem(int index, int itemPos, int itemCount) { ResourceDescriptor desc = descriptors[index]; TableItem item; if (itemPos < itemCount) { item = resourceNames.getItem(itemPos); if (item.getData() != desc) { item.setText(desc.label); item.setData(desc); item.setImage(getImage(desc)); if (itemPos == 0) { resourceNames.setSelection(0); updateFolders(desc); } } } else { item = new TableItem(resourceNames, SWT.NONE); item.setText(desc.label); item.setData(desc); item.setImage(getImage(desc)); if (itemPos == 0) { resourceNames.setSelection(0); updateFolders(desc); } } updateOKState(true); }
private void fillTargetData(AbstractTarget target) { AbstractIncrementalFileSystemMedium medium = (AbstractIncrementalFileSystemMedium) target.getMedium(); File[] archives = new File[0]; try { Logger.defaultLogger() .info( "Looking for archives in " + medium.getFileSystemPolicy().getDisplayableParameters(true), "Physical View"); archives = medium.listArchives(null, null, true); } catch (Throwable e) { this.application.handleException(e); } if (archives == null) { archives = new File[0]; } medium.checkArchivesEncoding(archives); for (int i = archives.length - 1; i >= 0; i--) { TableItem item = new TableItem(table, SWT.NONE); item.setData(archives[i]); try { Manifest manifest = ArchiveManifestCache.getInstance().getManifest(medium, archives[i]); String prp = null; if (manifest != null) { item.setText(1, Utils.formatDisplayDate(manifest.getDate())); initText(item, 0, manifest); prp = manifest.getStringProperty(ManifestKeys.OPTION_BACKUP_SCHEME); } if ((prp != null && prp.equals(AbstractTarget.BACKUP_SCHEME_FULL)) || i == 0) { item.setImage(0, ArecaImages.ICO_FS_FOLDER_FULL); } else if (prp != null && prp.equals(AbstractTarget.BACKUP_SCHEME_DIFFERENTIAL)) { item.setImage(0, ArecaImages.ICO_FS_FOLDER_DIFFERENTIAL); } else { item.setImage(0, ArecaImages.ICO_FS_FOLDER); } initSize(item, 2, archives[i], medium); } catch (ApplicationException e) { application.handleException(e); } } /* if (archives.length == 0) { showViewMessage(); } else { removeViewMessage(); } */ }
private void changeCurrentNode() { boolean hasMatchSelectedName = false; FileObject[] children = null; try { children = currentFileObject.getChildren(); } catch (Exception e) { e.printStackTrace(); } if (children == null) return; sortFiles(children); String selectedName = historyManager.getSelectedItem(currentFileObject.getName().getPath()); table.removeAll(); TableItem item; for (int i = 0; i < children.length; i++) { FileName fileName = children[i].getName(); if (fileName.getBaseName().equals(selectedName)) { currentRow = i; hasMatchSelectedName = true; } item = new TableItem(table, SWT.NONE); item.setData("fileObject", children[i]); item.setText(fileName.getBaseName()); try { FileType fileType = children[i].getType(); FileContent fileContent = children[i].getContent(); if (fileType.equals(FileType.FOLDER)) { item.setImage(folderImage); item.setText(1, "--"); item.setText(2, StringUtil.formatDate(fileContent.getLastModifiedTime())); } else { item.setImage(fileImage); item.setText(1, StringUtil.formatSize(fileContent.getSize())); item.setText(2, StringUtil.formatDate(fileContent.getLastModifiedTime())); } } catch (Exception e) { e.printStackTrace(); } } if (!hasMatchSelectedName) currentRow = 0; table.setSelection(currentRow); table.setFocus(); }
/** * Updates the visual of the given TableItem according to its IPathManager. * * @param item TableItem whose visual needs to be updated */ private void updateTableItem(TableItem item) { AVRPathManager path = (AVRPathManager) item.getData(); // add warn / error icons if path is empty / invalid boolean valid = path.isValid(); boolean optional = path.isOptional(); boolean empty = (path.getPath().isEmpty()); if (valid && !empty) { // valid path item.setImage((Image) null); } else if ((valid && empty) || (!valid && optional)) { // valid but empty path or invalid and optional path (use for optional paths) item.setImage( PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK)); } else { // Path is invalid item.setImage( PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_ERROR_TSK)); } item.setText(COLUMN_NAME, path.getName()); item.setText(COLUMN_TYPE, path.getSourceType().toString()); item.setText(COLUMN_PATH, path.getPath().toOSString()); // Adjust color/font according to source type switch (path.getSourceType()) { case System: item.setFont(COLUMN_TYPE, fDialogFont); item.setFont(COLUMN_PATH, fDialogFont); item.setForeground(COLUMN_PATH, fTable.getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY)); break; case Bundled: item.setFont(COLUMN_TYPE, fDialogFont); item.setFont(COLUMN_PATH, fDialogFont); item.setForeground(COLUMN_PATH, fTable.getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY)); break; case Custom: item.setFont(COLUMN_TYPE, fBoldFont); item.setFont(COLUMN_PATH, fBoldFont); item.setForeground(COLUMN_PATH, fTable.getDisplay().getSystemColor(SWT.COLOR_BLACK)); } // Updates the table layout. fTable.getColumn(COLUMN_NAME).pack(); fTable.getColumn(COLUMN_TYPE).pack(); fTable.getColumn(COLUMN_PATH).pack(); fTable.layout(); }
@Test public void testGetItemMetricsImageCutOffInSecondColumn() throws IOException { Image image = createImage(display, Fixture.IMAGE1); shell.setBounds(0, 0, 200, 200); shell.setLayout(new FillLayout()); table.setHeaderVisible(true); TableColumn column = new TableColumn(table, SWT.NONE); column.setText("column1"); column.setWidth(400); TableColumn column2 = new TableColumn(table, SWT.NONE); column2.setText("column2"); column2.setWidth(30); ITableAdapter adapter = table.getAdapter(ITableAdapter.class); adapter.setLeftOffset(5); TableItem item1 = new TableItem(table, SWT.NONE); item1.setText("item1"); TableItem item2 = new TableItem(table, SWT.NONE); item2.setText("item2"); TableItem item3 = new TableItem(table, SWT.NONE); item3.setText("item3"); item2.setImage(1, image); ItemMetrics[] metrics = TableLCA.getItemMetrics(table); assertEquals(403, metrics[1].imageLeft); assertEquals(27, metrics[1].imageWidth); }
private void updateListWidget(int[] indices, int size) { if (fList == null || fList.isDisposed()) return; fList.setRedraw(false); int itemCount = fList.getItemCount(); if (size < itemCount) { fList.remove(0, itemCount - size - 1); } TableItem[] items = fList.getItems(); for (int i = 0; i < size; i++) { TableItem ti = null; if (i < itemCount) { ti = items[i]; } else { ti = new TableItem(fList, i); } ti.setText(fRenderedStrings[indices[i]]); Image img = fRenderer.getImage(fElements[indices[i]]); if (img != null) ti.setImage(img); } if (fList.getItemCount() > 0) { fList.setSelection(0); } fList.setRedraw(true); Event event = new Event(); fList.notifyListeners(SWT.Selection, event); }
/** * Sets the image for multiple columns in the table. * * @param images the array of new images * @exception IllegalArgumentException * <ul> * <li>ERROR_NULL_ARGUMENT - if the array of images is null * <li>ERROR_INVALID_ARGUMENT - if one of the images has been disposed * </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 setImage(Image[] images) { checkWidget(); if (images == null) error(SWT.ERROR_NULL_ARGUMENT); for (int i = 0; i < images.length; i++) { setImage(i, images[i]); } }
@Test public void testGetItemMetrics() throws IOException { Image image = createImage(display, Fixture.IMAGE1); shell.setBounds(0, 0, 800, 600); shell.setLayout(new FillLayout()); table.setHeaderVisible(true); TableColumn column = new TableColumn(table, SWT.NONE); column.setText("column1"); column.setWidth(200); TableItem item1 = new TableItem(table, SWT.NONE); item1.setText("item1"); TableItem item2 = new TableItem(table, SWT.NONE); item2.setText("item2"); TableItem item3 = new TableItem(table, SWT.NONE); item3.setText("item3"); item2.setImage(image); ItemMetrics[] metrics = TableLCA.getItemMetrics(table); assertTrue(metrics[0].imageWidth > 0); item1.setImage(image); metrics = TableLCA.getItemMetrics(table); int defaultLeftPadding = 3; assertEquals(defaultLeftPadding, metrics[0].imageLeft); assertTrue(metrics[0].imageWidth > 0); // spacing must be respected int defaultSpacing = 3; int expected = metrics[0].imageLeft + metrics[0].imageWidth + defaultSpacing; assertEquals(expected, metrics[0].textLeft); // left offset must be compensated ITableAdapter adapter = table.getAdapter(ITableAdapter.class); adapter.setLeftOffset(10); metrics = TableLCA.getItemMetrics(table); assertEquals(0, metrics[0].left); assertEquals(defaultLeftPadding, metrics[0].imageLeft); expected = metrics[0].imageLeft + metrics[0].imageWidth + defaultSpacing; assertEquals(expected, metrics[0].textLeft); // image must not exceed right column border column.setWidth(12); metrics = TableLCA.getItemMetrics(table); assertEquals(9, metrics[0].imageWidth); }
public void setLeistungen(Konsultation b) { List<Verrechnet> lgl = Collections.emptyList(); if (b != null) { lgl = b.getLeistungen(); } tVerr.setRedraw(false); tVerr.removeAll(); StringBuilder sdg = new StringBuilder(); Money sum = new Money(0); for (Verrechnet lst : lgl) { sdg.setLength(0); int z = lst.getZahl(); Money preis = lst.getNettoPreis().multiply(z); sum.addMoney(preis); sdg.append(z) .append(" ") .append(lst.getCode()) .append(" ") .append(lst.getText()) // $NON-NLS-1$ //$NON-NLS-2$ .append(" (") .append(preis.getAmountAsString()) .append(")"); // $NON-NLS-1$ //$NON-NLS-2$ TableItem ti = new TableItem(tVerr, SWT.WRAP); ti.setText(sdg.toString()); ti.setData(lst); IVerrechenbar vr = lst.getVerrechenbar(); if (vr instanceof Artikel) { Artikel a = (Artikel) vr; int abgabeEinheit = a.getAbgabeEinheit(); if (abgabeEinheit > 0 && abgabeEinheit < a.getPackungsGroesse()) { ti.setImage(Images.IMG_BLOCKS_SMALL.getImage()); } } // set table item color IVerrechenbar verrBar = lst.getVerrechenbar(); if (verrBar != null) { Color color = UiDesk.getColorFromRGB(defaultRGB); String codeName = verrBar.getCodeSystemName(); if (codeName != null) { String rgbColor = CoreHub.globalCfg.get(Preferences.LEISTUNGSCODES_COLOR + codeName, defaultRGB); color = UiDesk.getColorFromRGB(rgbColor); } ti.setBackground(color); } } tVerr.setRedraw(true); sdg.setLength(0); sdg.append(Messages.VerrechnungsDisplay_billed) .append(sum.getAmountAsString()) .append(")"); // $NON-NLS-1$ //$NON-NLS-2$ hVer.setText(sdg.toString()); }
@Override protected void doResetItem(Item item) { TableItem tableItem = (TableItem) item; int columnCount = Math.max(1, table.getColumnCount()); for (int i = 0; i < columnCount; i++) { tableItem.setText(i, ""); // $NON-NLS-1$ if (tableItem.getImage(i) != null) { tableItem.setImage(i, null); } } }
@Test public void testRenderNonNegativeImageWidth() throws IOException { TableColumn column = new TableColumn(table, SWT.NONE); TableItem item = new TableItem(table, SWT.NONE); Image image = createImage(display, Fixture.IMAGE1); item.setImage(image); column.setWidth(2); ItemMetrics[] metrics = TableLCA.getItemMetrics(table); assertEquals(1, metrics.length); assertEquals(0, metrics[0].imageWidth); }
private void loadLibraries(LibraryCategory category, Table table) { List<LibraryArtifact> libraryArtifacts = category.getLibraryArtifacts(); for (LibraryArtifact libraryArtifact : libraryArtifacts) { if (!isLibraryExists(libraryArtifact.getFileName())) { TableItem tableItem = new TableItem(table, SWT.NONE); tableItem.setImage(LibImageUtils.getInstance().getJarImage().createImage()); tableItem.setText( new String[] {libraryArtifact.getName(), libraryArtifact.getDescription()}); tableItem.setData(libraryArtifact); } } }
public void handleEvent(Event event) { TableItem item = (TableItem) event.item; int tableIndex = indexOf(item); ScanningResult scanningResult = scanningResults.getResult(tableIndex); List<?> values = scanningResult.getValues(); String[] resultStrings = new String[values.size()]; for (int i = 0; i < values.size(); i++) { Object value = values.get(i); if (value != null) resultStrings[i] = value.toString(); } item.setText(resultStrings); item.setImage(0, listImages[scanningResult.getType().ordinal()]); }
/** * Sets the image for multiple columns in the table. * * @param images the array of new images * @exception IllegalArgumentException * <ul> * <li>ERROR_NULL_ARGUMENT - if the array of images is null * <li>ERROR_INVALID_ARGUMENT - if one of the images has been disposed * </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 setImage(final Image[] images) { checkWidget(); if (images == null) { error(SWT.ERROR_NULL_ARGUMENT); } for (int i = 0; i < images.length; i++) { if (images[i] != null && images[i].isDisposed()) { error(SWT.ERROR_INVALID_ARGUMENT); } } for (int i = 0; i < images.length; i++) { setImage(i, images[i]); } }
private void updateTable(LsFolderRequest lsRequest, LsFolderResponse lsResponse) { logger.log( Level.INFO, "Detail panel: Updating table with " + lsResponse.getResult().getFileVersions().size() + " file versions ..."); // Add new file version items List<PartialFileHistory> fileVersions = new ArrayList<>(lsResponse.getResult().getFileVersions().values()); selectedFileHistory = fileVersions.get(0); for (FileVersion fileVersion : selectedFileHistory.getFileVersions().values()) { String checksumStr = (fileVersion.getChecksum() != null) ? fileVersion.getChecksum().toString() : ""; TableItem tableItem = new TableItem(historyTable, SWT.NONE); tableItem.setData(fileVersion); tableItem.setImage(COLUMN_INDEX_STATUS, getStatusImage(fileVersion.getStatus())); tableItem.setText(COLUMN_INDEX_PATH, fileVersion.getPath()); tableItem.setText(COLUMN_INDEX_VERSION, Long.toString(fileVersion.getVersion())); tableItem.setText(COLUMN_INDEX_TYPE, fileVersion.getType().toString()); tableItem.setText(COLUMN_INDEX_SIZE, FileUtil.formatFileSize(fileVersion.getSize())); tableItem.setText(COLUMN_INDEX_POSIX_PERMS, fileVersion.getPosixPermissions()); tableItem.setText(COLUMN_INDEX_DOS_ATTRS, fileVersion.getDosAttributes()); tableItem.setText(COLUMN_INDEX_CHECKSUM, checksumStr); tableItem.setText(COLUMN_INDEX_LAST_MODIFIED, "" + fileVersion.getLastModified()); tableItem.setText(COLUMN_INDEX_UPDATED, "" + fileVersion.getUpdated()); } if (historyTable.getItemCount() > 0) { restoreButton.setEnabled(false); historyTable.select(historyTable.getItemCount() - 1); } resizeColumns(); }
/* * Handle the set data event. Set the item data of the requested item to the * corresponding proposal in the proposal cache. */ private void handleSetData(Event event) { TableItem item = (TableItem) event.item; int index = proposalTable.indexOf(item); int proposalIndex = 0; for (String provider : proposalList.getProviderList()) { if (index == proposalIndex) { int count = proposalList.getCount(provider); String text = provider + " (" + count + " matching items)"; item.setText(text); // Data == null => not selectable item.setData(null); Display display = Display.getCurrent(); Color color = display.getSystemColor(SWT.COLOR_GRAY); FontData fontData = item.getFont().getFontData()[0]; Font font = new Font( display, new FontData(fontData.getName(), fontData.getHeight(), SWT.ITALIC | SWT.BOLD)); item.setBackground(color); item.setFont(font); return; } proposalIndex++; for (IContentProposal proposal : proposalList.getProposals(provider)) { if (index == proposalIndex) { item.setText(" " + getString(proposal)); item.setImage(getImage(proposal)); item.setData(proposal); return; } proposalIndex++; } } }
/** Initialize the fields in this editor. */ protected void initialize() { if (ports == null) return; ports.removeAll(); Iterator iterator = tomcatConfiguration.getServerPorts().iterator(); while (iterator.hasNext()) { ServerPort port = (ServerPort) iterator.next(); TableItem item = new TableItem(ports, SWT.NONE); String portStr = "-"; if (port.getPort() >= 0) portStr = port.getPort() + ""; String[] s = new String[] {port.getName(), portStr}; item.setText(s); item.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_PORT)); item.setData(port); } if (readOnly) { viewer.setCellEditors(new CellEditor[] {null, null}); viewer.setCellModifier(null); } else { setupPortEditors(); } }
/* * (non-Javadoc) * * @see org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor) */ @Override public IStatus runInUIThread(IProgressMonitor monitor) { if (fTable.isDisposed()) { return Status.CANCEL_STATUS; } int itemCount = fTable.getItemCount(); // Remove excess items if (fCount < itemCount) { fTable.setRedraw(false); fTable.remove(fCount, itemCount - 1); fTable.setRedraw(true); itemCount = fTable.getItemCount(); } // table empty -> no selection if (fCount == 0) { fTable.notifyListeners(SWT.Selection, new Event()); return Status.OK_STATUS; } // How many we are going to do this time. int iterations = Math.min(250, fCount - currentIndex); for (int i = 0; i < iterations; i++) { if (monitor.isCanceled()) { return Status.CANCEL_STATUS; } final TableItem item = (currentIndex < itemCount) ? fTable.getItem(currentIndex) : new TableItem(fTable, SWT.NONE); final Label label = fLabels[fFilteredIndices[fFoldedIndices[currentIndex]]]; item.setText(label.string); item.setImage(label.image); currentIndex++; } if (monitor.isCanceled()) { return Status.CANCEL_STATUS; } if (currentIndex < fCount) { schedule(0); } else { if (indicesToSelect == null) { // Make a default selection in the table if there is none. // If a selection has already been made, honor it. // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=112146 if (fCount > 0) { if (fTable.getSelectionIndices().length == 0) { defaultSelect(); } else { // There is a selection, but it likely hasn't changed since the // job started. Force a selection notification, since the // items represented by the selection have changed. // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=119456 fTable.notifyListeners(SWT.Selection, new Event()); } } } else { // Set the selection as indicated. selectAndNotify(indicesToSelect); } // This flag signifies that the selection can now be directly // updated in the widget. readyForSelection = true; } return Status.OK_STATUS; }
public void setImage(final Image image) { checkWidget(); setImage(0, image); }
@Override public void run() { item = new TableItem(table, SWT.VIRTUAL | SWT.BORDER); String userName = ""; if (StringUtil.inull2Val(message.getUser_id()).toString().equals(message.getUser_id())) { Integer userid = StringUtil.inull2Val(message.getUser_id()); // ユーザ名 if (userNameCache.containsKey(userid)) { userName = userNameCache.get(userid); } else { new Thread( new Runnable() { @Override public void run() { Integer userid = StringUtil.inull2Val(message.getUser_id()); // <title>___さんのユーザーページ - niconico</title> String html = StringUtil.null2Val( new NicoRequestUtil(commentViewer.getCookie()) .get( String.format( "http://www.nicovideo.jp/user/%s", message.getUser_id()))); String userName = StringUtil.null2Val( StringUtil.groupMatchFirst( "<title>(.*?)さんのユーザーページ[^<]+<\\/title>", html)); userNameCache.put(userid, userName); // ファイルキャッシュ new SerializerUtil<HashMap<Integer, String>>() .save(USERNAME_CACHE_FILE, userNameCache); } }) .start(); } // サムネ if (imageCache.containsKey(userid)) { item.setImage(0, imageCache.get(userid)); } else { new Thread( new Runnable() { @Override public void run() { Integer userid = StringUtil.inull2Val(message.getUser_id()); Integer dir = userid / 10000; Image im = SWTUtil.getImage( getDisplay(), String.format( "http://usericon.nimg.jp/usericon/%d/%d.jpg", dir, userid), getDisplay(), 30, 30); if (im != null) { // item.setImage(0, im); imageCache.put(userid, im); } } }) .start(); } } if (message.isNgComment()) { Color color = new Color(getDisplay(), new RGB(128, 128, 128)); item.setForeground(color); } else if (message.getPremium().equals(PremiumConstants.BROADCASTER.toString()) || message.getPremium().equals(PremiumConstants.SYSTEM_UNEI.toString())) { Color color = new Color(getDisplay(), new RGB(255, 0, 0)); item.setForeground(color); } else if (message.isFirstComment()) { Color color = new Color(getDisplay(), new RGB(0, 255, 0)); item.setForeground(1, color); item.setForeground(2, color); item.setForeground(3, color); } String[] data = new String[] { "", // サムネ StringUtil.null2Val(message.getNo()), StringUtil.null2Val(SWTUtil.vpos2Time(message.getVposFromStartTime())), StringUtil.null2Val(message.getText()).trim(), StringUtil.null2Val(message.getHandleName()), StringUtil.null2Val(message.getMail()), StringUtil.null2Val(message.getPremium()), userName, StringUtil.null2Val(message.getUser_id()), StringUtil.null2Val(message.getScore()), }; // //growl通知 // if (PropertyUtil.isMac()) { // //TODO macでかつ、設定がONだったら // String title = message.getUser_id(); // GrowlNotification.getInstance().notify(title, message.getText()); // } // String[] links = StringUtil.groupMatch(MATCH_URL, // StringUtil.null2Val(message.getText()).trim()); // //TODO URL自動リンク // if (links.length > 0) { // Hyperlink link = new Hyperlink(table, SWT.WRAP); // link.setText(StringUtil.null2Val(message.getText()).trim().replaceAll(MATCH_URL, "$1")); // link.setUnderlined(true); // TableEditor editor = new TableEditor(table); // editor.grabHorizontal = true; // editor.setEditor(link, item, 3); // } // //最終コメが見えていて、初期ロードが終わってれば自動スクロール // boolean scrollFlag = (table.getItem(table.getItemCount()-1).getBounds().y == // table.getClientArea().y + table.getClientArea().height); item.setText(data); table.setTopIndex(table.getItemCount() - 1); // if ((StringUtil.inull2Val(threadMessage.getLast_res()) == // StringUtil.inull2Val(message.getNo()))) { // //初期ロード後1回はスクロール // table.setTopIndex(table.getItemCount()-1); // } else if (scrollFlag && (StringUtil.inull2Val(message.getNo()) == 0 || // //初期ロード後であればアイテムが見えてる時だけスクロール // } }
public void fill(List<PlayerStats> alPlayerStats) { this.alPlayersStats = alPlayerStats; this.setRedraw(false); this.remove(0, this.getItemCount() - 1); if (alPlayerStats == null) { this.setRedraw(true); return; } for (PlayerStats playerStats : alPlayerStats) { TableItem item = new TableItem(this, SWT.NONE); if (playerStats.getFormation() == PlayerStats.GK) { item.setBackground(Colors.getPositionGK()); } else if (playerStats.getFormation() == PlayerStats.DEF) { item.setBackground(Colors.getPositionDEF()); } else if (playerStats.getFormation() == PlayerStats.MID) { item.setBackground(Colors.getPositionMID()); } else if (playerStats.getFormation() == PlayerStats.ATT) { item.setBackground(Colors.getPositionATT()); } int i = 0; if (playerStats.getTimeOut() > 0 && playerStats.getTimeIn() == 0) { item.setImage(i++, ImageResources.getImageResources("down_icon.png")); } else if (playerStats.getTimeIn() > 0 && playerStats.getTimeOut() == 0) { item.setImage(i++, ImageResources.getImageResources("up_icon.png")); } else if (playerStats.getTimeIn() > 0 && playerStats.getTimeOut() > 0) { item.setImage(i++, ImageResources.getImageResources("in_out.png")); } else { i++; } if (playerStats.getTimeIn() > 0) { item.setText(i++, "R" + playerStats.getNumber()); } else if (playerStats.getTimePlayed() == 0) { item.setText(i++, "R"); } else { item.setText(i++, String.valueOf(playerStats.getNumber())); } Player player = playerStats.getPlayer(); if (player != null && player.getExistsInSokker() != Player.EXISTS_IN_SOKKER_UNCHECKED) { if (player.getExistsInSokker() == Player.EXISTS_IN_SOKKER_TRUE || player.getExistsInSokker() == Player.EXISTS_IN_SOKKER_COMPLETED) { item.setImage(i, FlagsResources.getFlag(player.getCountryfrom())); if (player.getName() == null || player.getSurname() == null || (player.getName().isEmpty() && player.getSurname().isEmpty())) { item.setText(i++, String.valueOf(playerStats.getPlayerId())); } else { if (player.getName().isEmpty()) { item.setText(i++, String.format("%s", player.getSurname())); } else { item.setText( i++, String.format("%s %s.", player.getSurname(), player.getName().substring(0, 1))); } } } else { item.setImage(i, FlagsResources.getFlag(FlagsResources.EMPTY_FLAG)); item.setText(i++, String.valueOf(playerStats.getPlayerId() + " (n/a)")); } } else { item.setImage(i, FlagsResources.getFlag(FlagsResources.QUESTION_FLAG)); item.setText(i++, String.valueOf(playerStats.getPlayerId() + " (n/d)")); } if (playerStats.getFormation() >= 0 && playerStats.getFormation() <= 4) { item.setText(i++, Messages.getString("formation." + playerStats.getFormation())); } else { item.setText(i++, ""); } if (playerStats.getTimePlayed() == 0) { item.setForeground(ColorResources.getDarkGray()); item.setBackground(ColorResources.getWhite()); } item.setText(i++, playerStats.getTimePlayed() + "'"); item.setText(i++, playerStats.getRating() + "%"); item.setText(i++, String.valueOf(playerStats.getGoals())); item.setText(i++, String.valueOf(playerStats.getShoots())); item.setText(i++, String.valueOf(playerStats.getAssists())); item.setText(i++, String.valueOf(playerStats.getFouls())); item.setText(i, ""); if (SettingsHandler.IS_WINDOWS) { item.setBackground(i, this.getBackground()); } if (playerStats.getIsInjured() == PlayerStats.INJURED) { item.setImage(i++, ImageResources.getImageResources("injury.png")); } else { i++; } item.setText(i, ""); if (SettingsHandler.IS_WINDOWS) { item.setBackground(i, this.getBackground()); } if (playerStats.getYellowCards() < 2 && playerStats.getRedCards() > 0) { item.setImage(i++, ImageResources.getImageResources("red_card.png")); } else if (playerStats.getYellowCards() > 1 && playerStats.getRedCards() > 0) { item.setImage(i++, ImageResources.getImageResources("2_yellow_cards_1_red_card.png")); } else if (playerStats.getYellowCards() == 1 && playerStats.getRedCards() < 1) { item.setImage(i++, ImageResources.getImageResources("yellow_card.png")); } else if (playerStats.getYellowCards() > 1 && playerStats.getRedCards() < 1) { item.setImage(i++, ImageResources.getImageResources("2_yellow_cards.png")); } else { i++; } // item.setText(i++, String.valueOf(playerStats.getYellowCards() + " // " + // playerStats.getRedCards())); } for (int i = 0; i < this.getColumnCount() - 1; i++) { if (i == 0) { this.getColumn(i).setWidth(25); } else { this.getColumn(i).pack(); } // else { // this.getColumn(i).setWidth(this.getColumn(i).getWidth() + 3); // } } // for (int i = 0; i < this.getItemCount(); i++) { // if ((i % 2) == 1) { // this.getItem(i).setBackground(this.getDisplay().getSystemColor(SWT.COLOR_GRAY)); // } // } this.setRedraw(true); // table.pack(); // table.computeSize(SWT.DEFAULT, SWT.DEFAULT); }
/* * Caches the specified proposals and repopulates the table if it has been * created. */ private void setProposals(ContentProposalList newProposalList) { if (newProposalList == null || newProposalList.length() == 0) { newProposalList = getEmptyProposalArray(); } this.proposalList = newProposalList; if (!isValid()) return; // If there is a table if (isValid()) { if (USE_VIRTUAL) { // Set and clear the virtual table. Data will be // provided in the SWT.SetData event handler. proposalTable.setItemCount(getTableLength()); proposalTable.clearAll(); } else { // Populate the table manually proposalTable.setRedraw(false); int itemCount = newProposalList.length() + newProposalList.getProviderList().size(); proposalTable.setItemCount(itemCount); TableItem[] items = proposalTable.getItems(); int index = 0; for (String provider : newProposalList.getProviderList()) { TableItem item = items[index]; int count = newProposalList.getCount(provider); String text = provider + " (" + count + " matching items)"; item.setText(text); // Data == null => not selectable item.setData(null); Display display = Display.getCurrent(); Color color = display.getSystemColor(SWT.COLOR_GRAY); FontData fontData = item.getFont().getFontData()[0]; Font font = new Font( display, new FontData(fontData.getName(), fontData.getHeight(), SWT.ITALIC | SWT.BOLD)); item.setBackground(color); item.setFont(font); index++; for (IContentProposal proposal : newProposalList.getProposals(provider)) { item.setText(" " + getString(proposal)); item.setImage(getImage(proposal)); item.setData(proposal); index++; } } proposalTable.setRedraw(true); } // Default to the first selection if there is content. if (newProposalList.length() > 0) { int index = 0; boolean selected = false; for (String provider : newProposalList.getProviderList()) { index++; if (!selected && newProposalList.getCount(provider) > 0) { selectProposal(index); selected = true; } } } else { // No selection, close the secondary popup if it was open if (infoPopup != null) { infoPopup.close(); } } } footer.setText(""); }