import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.tizen.dynamicanalyzer.listeners.TableTooltipListener;
import org.tizen.dynamicanalyzer.model.TreeInput;
import org.tizen.dynamicanalyzer.nl.GLPageLabels;
+import org.tizen.dynamicanalyzer.resources.ColorResources;
import org.tizen.dynamicanalyzer.sql.DBTableInfo;
import org.tizen.dynamicanalyzer.sql.DBTableManager;
import org.tizen.dynamicanalyzer.sql.SqlManager;
private TreeInput nodeProgramObject;
private TreeInput nodeShaderObject;
- private Point hover = new Point(-1, -1);
- private Point push = new Point(-1, -1);
+ private GridItem gridItem2;
private Composite naviButtonLeftComposite;
private Composite naviButtonRightComposite;
private Button buttonLeftLeft;
if (items == null || items.length <= 0) {
return;
}
- int index = ((GLContextTreeNodeData)items[0].getData()).getDBColumnIndex();
-
DASelectionData selData = new DASelectionData(GLContextView.ID,
0, 0, items[0], table);
AnalyzerManager.getCurrentPage().updatePage(selData);
makeTreeInput = false;
updateTree();
table.setSelection(selectionIndex);
+
+ if (!naviButtonLeftComposite.isDisposed()) {
+ naviButtonLeftComposite
+ .setBackground(ColorResources.TABLE_CONTENTS_SELECTED_END);
+ }
+
+ if (!naviButtonRightComposite.isDisposed()) {
+ naviButtonRightComposite
+ .setBackground(ColorResources.TABLE_CONTENTS_SELECTED_END);
+ }
}
-
+
@Override
public void widgetDefaultSelected(SelectionEvent e) {
}
@Override
public void mouseDown(MouseEvent e) {
- push.x = e.x;
- push.y = e.y;
}
@Override
@Override
public void mouseExit(MouseEvent e) {
- hover.x = -1;
- hover.y = -1;
-
// TODO dispose
// disposeButtons();
}
table.addMouseMoveListener(new MouseMoveListener() {
@Override
public void mouseMove(MouseEvent e) {
- hover.x = e.x;
- hover.y = e.y;
-
- disposeButtons();
-
GridItem gridItem = table.getItem(new Point(e.x, e.y));
if(gridItem == null) {
return;
}
+
+ if(gridItem2 == gridItem) {
+ return;
+ } else {
+ disposeNaviButtons();
+ gridItem2 = gridItem;
+ }
+
final GLContextTreeNodeData treeNodeData = (GLContextTreeNodeData)gridItem.getData();
if(treeNodeData.getDBColumnIndex() == -1) {
return;
}
- naviButtonLeftComposite = new Composite(table, SWT.NONE);
- naviButtonLeftComposite.setLayout(new FormLayout());
- naviButtonLeftComposite.setBackground(gridItem.getBackground());
-
- buttonLeftLeft = new Button(naviButtonLeftComposite, SWT.NONE);
- buttonLeftLeft.setText("<<");
- FormData formData = new FormData();
- formData.top = new FormAttachment(0, 0);
- formData.bottom = new FormAttachment(100, 0);
- formData.left = new FormAttachment(0, 0);
- formData.right = new FormAttachment(0, 27);
- buttonLeftLeft.setLayoutData(formData);
-
- buttonLeft = new Button(naviButtonLeftComposite, SWT.NONE);
- buttonLeft.setText("<");
- formData = new FormData();
- formData.top = new FormAttachment(0, 0);
- formData.bottom = new FormAttachment(100, 0);
- formData.left = new FormAttachment(0, 27);
- formData.right = new FormAttachment(0, 54);
- buttonLeft.setLayoutData(formData);
- naviButtonLeftComposite.pack();
-
- GridEditor editor = new GridEditor(table);
- editor.minimumWidth = naviButtonLeftComposite.getSize().x;
- editor.horizontalAlignment = SWT.LEFT;
- editor.setEditor(naviButtonLeftComposite, gridItem, 1);
-
- naviButtonRightComposite = new Composite(table, SWT.NONE);
- naviButtonRightComposite.setLayout(new FormLayout());
- naviButtonRightComposite.setBackground(gridItem.getBackground());
-
- buttonRight = new Button(naviButtonRightComposite, SWT.NONE);
- buttonRight.setText(">");
- formData = new FormData();
- formData.top = new FormAttachment(0, 0);
- formData.bottom = new FormAttachment(100, 0);
- formData.left = new FormAttachment(100, -54);
- formData.right = new FormAttachment(100, -27);
- buttonRight.setLayoutData(formData);
-
- buttonRightRight = new Button(naviButtonRightComposite, SWT.NONE);
- buttonRightRight.setText(">>");
- formData = new FormData();
- formData.top = new FormAttachment(0, 0);
- formData.bottom = new FormAttachment(100, 0);
- formData.left = new FormAttachment(100, -27);
- formData.right = new FormAttachment(100, 0);
- buttonRightRight.setLayoutData(formData);
- naviButtonRightComposite.pack();
- editor = new GridEditor(table);
- editor.minimumWidth = naviButtonRightComposite.getSize().x;
- editor.horizontalAlignment = SWT.RIGHT;
- editor.setEditor(naviButtonRightComposite, gridItem, 1);
-
- buttonLeftLeft
- .addSelectionListener(new NavigationSelectionListener(
- ButtonType.LEFTLEFT, treeNodeData));
- buttonLeft
- .addSelectionListener(new NavigationSelectionListener(
- ButtonType.LEFT, treeNodeData));
- buttonRight
- .addSelectionListener(new NavigationSelectionListener(
- ButtonType.RIGHT, treeNodeData));
- buttonRightRight
- .addSelectionListener(new NavigationSelectionListener(
- ButtonType.RIGHTRIGHT, treeNodeData));
+ createNaviButtons(gridItem, treeNodeData);
}
});
initContextTree();
}
- private void disposeButtons() {
+ private void disposeNaviButtons() {
if(naviButtonLeftComposite != null) {
naviButtonLeftComposite.dispose();
}
}
}
+ private void createNaviButtons(GridItem gridItem,
+ GLContextTreeNodeData treeNodeData) {
+ System.out.println("create navi button");
+
+ Color bgColor;
+ if (table.isSelected(gridItem)) {
+ bgColor = ColorResources.TABLE_CONTENTS_SELECTED_END;
+ } else {
+ bgColor = gridItem.getBackground();
+ }
+
+ FormLayout formLayout = new FormLayout();
+ formLayout.marginHeight = -1;
+ formLayout.marginWidth = -1;
+
+ naviButtonLeftComposite = new Composite(table, SWT.NONE);
+ naviButtonLeftComposite.setLayout(formLayout);
+ naviButtonLeftComposite.setBackground(bgColor);
+
+ buttonLeftLeft = new Button(naviButtonLeftComposite, SWT.NONE);
+ buttonLeftLeft.setText("<<");
+ FormData formData = new FormData();
+ formData.top = new FormAttachment(0, 0);
+ formData.bottom = new FormAttachment(100, 0);
+ formData.left = new FormAttachment(0, 0);
+ formData.right = new FormAttachment(0, 27);
+ buttonLeftLeft.setLayoutData(formData);
+
+ buttonLeft = new Button(naviButtonLeftComposite, SWT.NONE);
+ buttonLeft.setText("<");
+ formData = new FormData();
+ formData.top = new FormAttachment(0, 0);
+ formData.bottom = new FormAttachment(100, 0);
+ formData.left = new FormAttachment(0, 27);
+ formData.right = new FormAttachment(0, 54);
+ buttonLeft.setLayoutData(formData);
+ naviButtonLeftComposite.pack();
+
+ GridEditor editor = new GridEditor(table);
+ editor.minimumWidth = naviButtonLeftComposite.getSize().x;
+ editor.horizontalAlignment = SWT.LEFT;
+ editor.setEditor(naviButtonLeftComposite, gridItem, 1);
+
+ naviButtonRightComposite = new Composite(table, SWT.NONE);
+ naviButtonRightComposite.setLayout(formLayout);
+ naviButtonRightComposite.setBackground(bgColor);
+
+ buttonRight = new Button(naviButtonRightComposite, SWT.NONE);
+ buttonRight.setText(">");
+ formData = new FormData();
+ formData.top = new FormAttachment(0, 0);
+ formData.bottom = new FormAttachment(100, 0);
+ formData.left = new FormAttachment(100, -54);
+ formData.right = new FormAttachment(100, -27);
+ buttonRight.setLayoutData(formData);
+
+ buttonRightRight = new Button(naviButtonRightComposite, SWT.NONE);
+ buttonRightRight.setText(">>");
+ formData = new FormData();
+ formData.top = new FormAttachment(0, 0);
+ formData.bottom = new FormAttachment(100, 0);
+ formData.left = new FormAttachment(100, -27);
+ formData.right = new FormAttachment(100, 0);
+ buttonRightRight.setLayoutData(formData);
+ naviButtonRightComposite.pack();
+
+ editor = new GridEditor(table);
+ editor.minimumWidth = naviButtonRightComposite.getSize().x;
+ editor.horizontalAlignment = SWT.RIGHT;
+ editor.setEditor(naviButtonRightComposite, gridItem, 1);
+
+ buttonLeftLeft.addSelectionListener(new NavigationSelectionListener(
+ ButtonType.LEFTLEFT, treeNodeData));
+ buttonLeft.addSelectionListener(new NavigationSelectionListener(
+ ButtonType.LEFT, treeNodeData));
+ buttonRight.addSelectionListener(new NavigationSelectionListener(
+ ButtonType.RIGHT, treeNodeData));
+ buttonRightRight.addSelectionListener(new NavigationSelectionListener(
+ ButtonType.RIGHTRIGHT, treeNodeData));
+ }
+
private void setNodeProperty(TreeInput treeInput) {
List<String> textList = new ArrayList<String>();
GLContextTreeNodeData nodeData = (GLContextTreeNodeData) treeInput
}
}
+ naviButtonLeftComposite
+ .setBackground(ColorResources.TABLE_RANGE_COLOR_SECOND_SELECTION);
+ naviButtonRightComposite
+ .setBackground(ColorResources.TABLE_RANGE_COLOR_SECOND_SELECTION);
+
String[] prevChangeInfo = list.get(bSearchedIndex).split(
GLDataMaker.DELIMITER);
List<String> viewNameList = new ArrayList<String>();