Page's weight will be changed dynamically for fixed table height when window is resized
Change-Id: Id3fdf82a58f7de883cb767afff781dff4cd5473a
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Sash;
import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
private DATabComposite fileDetailTableView = null;
boolean isDetailMode = true;
+
+ int tableHeight = -1;
+ int tableWeight = 65;
+
+ boolean wasSashCreated = false;
public FilePage(Composite parent, int style) {
super(parent, style);
bottomLeftForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
bottomRightForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
- bottomForm.setWeights(new int[] { 65, 35 });
+ bottomForm.setWeights(new int[] { tableWeight, 100 - tableWeight });
+
+ addTableWeightListener();
+ }
+
+ private void addHeightWeightListener() {
+ if(baseForm.getChildren().length > 2) {
+ ((Sash)baseForm.getChildren()[2]).addListener(SWT.MouseUp, new Listener() {
+ @Override
+ public void handleEvent(Event event) {
+ tableHeight = (int)((double)baseForm.getWeights()[0] / baseForm.getWeights()[0] + baseForm.getWeights()[1]) * baseForm.getSize().y * 1/1000;
+ }
+ });
+
+ wasSashCreated = true;
+ }
}
+ private void addTableWeightListener() {
+ ((SashForm)bottomForm.getChildren()[0]).addListener(SWT.Resize, new Listener(){
+ @Override
+ public void handleEvent(Event event) {
+ resizeTableButton();
+ }
+ });
+ }
+
+
@Override
public Composite getTopTable() {
DAViewComposite view = (DAViewComposite)this.fileAPITableView.getTopComposite();
@Override
protected void onResized(int width, int height) {
+ if(!wasSashCreated) { // This variable needs to check whether a Sash was created to calculate height ratio between chart area and table area
+ addHeightWeightListener();
+ }
+
resizePageButton();
resizeTableButton();
if(!isDetailMode) {
baseForm.setWeights(new int[] { 100, 0 });
} else {
- int hrate = (int) (TimelineTableView.DEFAULT_TABLE_VIEW_HEIGHT * 100 / height);
+ int hrate = (tableHeight == -1) ? (int) (TimelineTableView.DEFAULT_TABLE_VIEW_HEIGHT * 100 / height) :
+ (int) (tableHeight * 100 / height);
if(hrate > 100) {
return;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Sash;
import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
MemoryCallStackView memoryCallStackView;
boolean isDetailMode = true;
+
+ int tableHeight = -1;
+ int tableWeight = 65;
+
+ boolean wasSashCreated = false;
public MemoryPage(Composite parent, int style) {
super(parent, style);
bottomLeftForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
bottomRightForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
- bottomForm.setWeights(new int[] { 65, 35 });
-
+ bottomForm.setWeights(new int[] { tableWeight, 100 - tableWeight });
+
+ addTableWeightListener();
+ }
+
+ private void addHeightWeightListener() {
+ if(baseForm.getChildren().length > 2) {
+ ((Sash)baseForm.getChildren()[2]).addListener(SWT.MouseUp, new Listener() {
+ @Override
+ public void handleEvent(Event event) {
+ tableHeight = (int)((double)baseForm.getWeights()[0] / baseForm.getWeights()[0] + baseForm.getWeights()[1]) * baseForm.getSize().y * 1/1000;
+ }
+ });
+
+ wasSashCreated = true;
+ }
+ }
+
+ private void addTableWeightListener() {
+ ((SashForm)bottomForm.getChildren()[0]).addListener(SWT.Resize, new Listener(){
+ @Override
+ public void handleEvent(Event event) {
+ resizeTableButton();
+ }
+ });
}
@Override
@Override
protected void onResized(int width, int height) {
+ if(!wasSashCreated) { // This variable needs to check whether a Sash was created to calculate height ratio between chart area and table area
+ addHeightWeightListener();
+ }
+
resizePageButton();
resizeTableButton();
if(!isDetailMode) {
baseForm.setWeights(new int[] { 100, 0 });
} else {
- int hrate = (int) (TimelineTableView.DEFAULT_TABLE_VIEW_HEIGHT * 100 / height);
+ int hrate = (tableHeight == -1) ? (int) (TimelineTableView.DEFAULT_TABLE_VIEW_HEIGHT * 100 / height) :
+ (int) (tableHeight * 100 / height);
if(hrate > 100) {
return;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Sash;
import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
SashForm bottomForm;
boolean isDetailMode = true;
+
+ int tableHeight = -1;
+ int tableWeight = 65;
+
+ boolean wasSashCreated = false;
public NetworkPage(Composite parent, int style) {
super(parent, style);
bottomLeftForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
bottomRightForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
- bottomForm.setWeights(new int[] { 65, 35 });
+ bottomForm.setWeights(new int[] { tableWeight, 100 - tableWeight });
+
+ addTableWeightListener();
+ }
+
+ private void addHeightWeightListener() {
+ if(baseForm.getChildren().length > 2) {
+ ((Sash)baseForm.getChildren()[2]).addListener(SWT.MouseUp, new Listener() {
+ @Override
+ public void handleEvent(Event event) {
+ tableHeight = (int)((double)baseForm.getWeights()[0] / baseForm.getWeights()[0] + baseForm.getWeights()[1]) * baseForm.getSize().y * 1/1000;
+ }
+ });
+
+ wasSashCreated = true;
+ }
+ }
+
+ private void addTableWeightListener() {
+ ((SashForm)bottomForm.getChildren()[0]).addListener(SWT.Resize, new Listener(){
+ @Override
+ public void handleEvent(Event event) {
+ resizeTableButton();
+ }
+ });
}
@Override
@Override
protected void onResized(int width, int height) {
+ if(!wasSashCreated) { // This variable needs to check whether a Sash was created to calculate height ratio between chart area and table area
+ addHeightWeightListener();
+ }
+
resizePageButton();
resizeTableButton();
if(!isDetailMode) {
baseForm.setWeights(new int[] { 100, 0 });
} else {
- int hrate = (int) (TimelineTableView.DEFAULT_TABLE_VIEW_HEIGHT * 100 / height);
+ int hrate = (tableHeight == -1) ? (int) (TimelineTableView.DEFAULT_TABLE_VIEW_HEIGHT * 100 / height) :
+ (int) (tableHeight * 100 / height);
if(hrate > 100) {
return;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Sash;
import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
SashForm baseForm;
SashForm topForm;
SashForm bottomForm;
+ SashForm bottomLeftForm;
+ SashForm bottomRightForm;
GLChartView glChartView;
GLAPIListView glAPIListView;
boolean isDetailMode = true;
+ int tableHeight = -1;
+ int tableWeight = 50;
+
+ boolean wasSashCreated = false;
+
public GLPage(Composite parent, int style) {
super(parent, style);
setTitle(AnalyzerLabels.COOLBAR_AREA_OPENGLES);
addView(glChartView);
bottomForm = new SashForm(baseForm, SWT.HORIZONTAL);
- glLeftTableView = new DATabComposite(bottomForm, SWT.NONE, false, true);
+
+ bottomLeftForm = new SashForm(bottomForm, SWT.NONE);
+ bottomLeftForm.setForeground(ColorResources.TAB_SELECTED_COLOR_START);
+ bottomLeftForm.setLayout(new FillLayout());
+
+ bottomRightForm = new SashForm(bottomForm, SWT.NONE);
+ bottomRightForm.setForeground(ColorResources.TAB_SELECTED_COLOR_START);
+ bottomRightForm.setLayout(new FillLayout());
+
+ glLeftTableView = new DATabComposite(bottomLeftForm, SWT.NONE, false, true);
{
GLStatisticsTableView glStatisticsView = new GLStatisticsTableView(glLeftTableView.getContentComposite(), SWT.NONE);
glLeftTableView.addView(glStatisticsView);
}
addView(glLeftTableView);
- glRightTableView = new DATabComposite(bottomForm, SWT.NONE, false, true);
+ glRightTableView = new DATabComposite(bottomRightForm, SWT.NONE, false, true);
{
GLRedundantTableView glRedundantView = new GLRedundantTableView(glRightTableView.getContentComposite(), SWT.NONE);
glRightTableView.addView(glRedundantView);
topForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
bottomForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
+ bottomLeftForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
+ bottomRightForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
+
+ bottomForm.setWeights(new int[] { tableWeight, 100 - tableWeight });
- bottomForm.setWeights(new int[] { 50, 50 });
+ addTableWeightListener();
+ }
+
+ private void addTableWeightListener() {
+ ((SashForm)bottomForm.getChildren()[0]).addListener(SWT.Resize, new Listener(){
+ @Override
+ public void handleEvent(Event event) {
+ resizeLeftTableButton();
+ resizeRightTableButton();
+ }
+ });
+ }
+
+ private void addHeightWeightListener() {
+ if(baseForm.getChildren().length > 2) {
+ ((Sash)baseForm.getChildren()[2]).addListener(SWT.MouseUp, new Listener() {
+ @Override
+ public void handleEvent(Event event) {
+ tableHeight = (int)((double)baseForm.getWeights()[0] / baseForm.getWeights()[0] + baseForm.getWeights()[1]) * baseForm.getSize().y * 1/1000;
+ }
+ });
+
+ wasSashCreated = true;
+ }
}
@Override
@Override
protected void onResized(int width, int height) {
+ if(!wasSashCreated) { // This variable needs to check whether a Sash was created to calculate height ratio between chart area and table area
+ addHeightWeightListener();
+ }
+
resizePageButton();
resizeLeftTableButton();
resizeRightTableButton();
if(!isDetailMode) {
baseForm.setWeights(new int[] { 100, 0 });
} else {
- int hrate = (int) (TimelineTableView.DEFAULT_TABLE_VIEW_HEIGHT * 100 / height);
+ int hrate = (tableHeight == -1) ? (int) (TimelineTableView.DEFAULT_TABLE_VIEW_HEIGHT * 100 / height) :
+ (int) (tableHeight * 100 / height);
if(hrate > 100) {
return;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Sash;
import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
SashForm bottomForm;
boolean isDetailMode = true;
+
+ int tableHeight = -1;
+ int tableWeight = 65;
+
+ boolean wasSashCreated = false;
public ThreadPage(Composite parent, int style) {
super(parent, style);
bottomLeftForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
bottomRightForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
- bottomForm.setWeights(new int[] { 65, 35 });
+ bottomForm.setWeights(new int[] { tableWeight, 100 - tableWeight });
+
+ addTableWeightListener();
+ }
+
+ private void addHeightWeightListener() {
+ if(baseForm.getChildren().length > 2) {
+ ((Sash)baseForm.getChildren()[2]).addListener(SWT.MouseUp, new Listener() {
+ @Override
+ public void handleEvent(Event event) {
+ tableHeight = (int)((double)baseForm.getWeights()[0] / baseForm.getWeights()[0] + baseForm.getWeights()[1]) * baseForm.getSize().y * 1/1000;
+ }
+ });
+
+ wasSashCreated = true;
+ }
+ }
+
+ private void addTableWeightListener() {
+ ((SashForm)bottomForm.getChildren()[0]).addListener(SWT.Resize, new Listener(){
+ @Override
+ public void handleEvent(Event event) {
+ resizeTableButton();
+ }
+ });
}
@Override
@Override
protected void onResized(int width, int height) {
+ if(!wasSashCreated) { // This variable needs to check whether a Sash was created to calculate height ratio between chart area and table area
+ addHeightWeightListener();
+ }
+
resizePageButton();
resizeTableButton();
if(!isDetailMode) {
baseForm.setWeights(new int[] { 100, 0 });
} else {
- int hrate = (int) (TimelineTableView.DEFAULT_TABLE_VIEW_HEIGHT * 100 / height);
+ int hrate = (tableHeight == -1) ? (int) (TimelineTableView.DEFAULT_TABLE_VIEW_HEIGHT * 100 / height) :
+ (int) (tableHeight * 100 / height);
if(hrate > 100) {
return;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Sash;
import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.common.Global;
TimelineTableView timelineTableView;
boolean isDetailMode = true;
+
+ int tableHeight = -1;
+ int tableWeight = 65;
+
+ boolean wasSashCreated = false;
public TimelinePage(Composite parent, int style) {
super(parent, style);
bottomLeftForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
bottomRightForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
- bottomForm.setWeights(new int[] { 65, 35 });
+ bottomForm.setWeights(new int[] { tableWeight, 100 - tableWeight });
+
+ addTableWeightListener();
+ }
+
+ private void addHeightWeightListener() {
+ if(baseForm.getChildren().length > 2) {
+ ((Sash)baseForm.getChildren()[2]).addListener(SWT.MouseUp, new Listener() {
+ @Override
+ public void handleEvent(Event event) {
+ tableHeight = baseForm.getWeights()[1] * baseForm.getSize().y / 1000;
+ }
+ });
+
+ wasSashCreated = true;
+ }
+ }
+
+ private void addTableWeightListener() {
+ ((SashForm)bottomForm.getChildren()[0]).addListener(SWT.Resize, new Listener(){
+ @Override
+ public void handleEvent(Event event) {
+ resizeTableButton();
+ }
+ });
}
@Override
@Override
protected void onResized(int width, int height) {
+ if(!wasSashCreated) { // This variable needs to check whether a Sash was created to calculate height ratio between chart area and table area
+ addHeightWeightListener();
+ }
+
resizePageButton();
resizeTableButton();
if(!isDetailMode) {
baseForm.setWeights(new int[] { 100, 0 });
} else {
- int hrate = (int) (TimelineTableView.DEFAULT_TABLE_VIEW_HEIGHT * 100 / height);
+ int hrate = (tableHeight == -1) ? (int) (TimelineTableView.DEFAULT_TABLE_VIEW_HEIGHT * 100 / height) :
+ (int) (tableHeight * 100 / height);
if(hrate > 100) {
return;