Package com.cxy.redisclient

Source Code of com.cxy.redisclient.TestCloseTabItem

package com.cxy.redisclient;

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabFolder2Adapter;
import org.eclipse.swt.custom.CTabFolderEvent;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class TestCloseTabItem {

public static void main (String [] args) {
  Display display = new Display ();
  Image image = new Image(display, 16, 16);
  GC gc = new GC(image);
  gc.setBackground(display.getSystemColor(SWT.COLOR_BLUE));
  gc.fillRectangle(0, 0, 16, 16);
  gc.setBackground(display.getSystemColor(SWT.COLOR_YELLOW));
  gc.fillRectangle(3, 3, 10, 10);
  gc.dispose();
  final Shell shell = new Shell (display);
  shell.setLayout(new GridLayout());
  final CTabFolder folder = new CTabFolder(shell, SWT.BORDER);
  folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
  folder.setSimple(false);
  folder.setUnselectedImageVisible(true);
  folder.setUnselectedCloseVisible(true);
  for (int i = 0; i < 8; i++) {
    CTabItem item = new CTabItem(folder, SWT.CLOSE);
    item.setText("Item "+i);
    item.setImage(image);
    Text text = new Text(folder, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
    text.setText("Text for item "+i+"\n\none, two, three\n\nabcdefghijklmnop");
    item.setControl(text);
  }
  folder.setMinimizeVisible(true);
  folder.setMaximizeVisible(true);
  folder.addCTabFolder2Listener(new CTabFolder2Adapter() {
    @Override
    public void minimize(CTabFolderEvent event) {
      folder.setMinimized(true);
      folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
      shell.layout(true);
    }
    @Override
    public void maximize(CTabFolderEvent event) {
      folder.setMaximized(true);
      folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
      shell.layout(true);
    }
    @Override
    public void restore(CTabFolderEvent event) {
      folder.setMinimized(false);
      folder.setMaximized(false);
      folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
      shell.layout(true);
    }
  });
  shell.setSize(300, 300);
  shell.open ();
  while (!shell.isDisposed ()) {
    if (!display.readAndDispatch ()) display.sleep ();
  }
  image.dispose();
  display.dispose ();
}
}
TOP

Related Classes of com.cxy.redisclient.TestCloseTabItem

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.