From 6de718f6a2e79564af67e5781a728484c5a8924a Mon Sep 17 00:00:00 2001 From: "yeongtaik.byeon" Date: Mon, 26 Nov 2012 23:26:23 +0900 Subject: [PATCH] [Title]thread page & chart selction update [Desc.]chart range selection & design update [Issue]redmine #5322 #7167 --- .../Images/timeline_right_bg_selected.png | Bin 2810 -> 2789 bytes .../widgets/chartBoard/DACustomChartBoard.java | 77 ++++++++++++++------ .../widgets/chartBoard/DACustomChartBoardItem.java | 21 +++++- .../chartBoard/DACustomChartBoardItemCell.java | 36 ++++++--- .../widgets/helper/ColorResources.java | 81 +++++++++++++-------- .../widgets/timeline/DACustomTimelineRenderer.java | 1 - .../dynamicanalyzer/resources/ImageResources.java | 8 +- .../dynamicanalyzer/ui/thread/ThreadChartView.java | 33 +++------ .../ui/thread/ThreadPageDataManager.java | 66 ++++++++++++++++- .../black/img/thread_lock_dropdown_disable.png | Bin 3078 -> 0 bytes .../theme/black/img/thread_lock_dropdown_hover.png | Bin 3439 -> 0 bytes .../black/img/thread_lock_dropdown_normal.png | Bin 3353 -> 0 bytes .../theme/black/img/thread_lock_dropdown_push.png | Bin 3347 -> 0 bytes .../theme/black/img/time_line_dropdown_hover.png | Bin 0 -> 2962 bytes .../theme/black/img/time_line_dropdown_normal.png | Bin 0 -> 2949 bytes .../theme/black/img/time_line_dropdown_push.png | Bin 0 -> 2950 bytes .../theme/white/img/time_line_dropdown_hover.png | Bin 0 -> 2962 bytes .../theme/white/img/time_line_dropdown_normal.png | Bin 0 -> 2949 bytes .../theme/white/img/time_line_dropdown_push.png | Bin 0 -> 2950 bytes 19 files changed, 227 insertions(+), 96 deletions(-) delete mode 100644 org.tizen.dynamicanalyzer/theme/black/img/thread_lock_dropdown_disable.png delete mode 100644 org.tizen.dynamicanalyzer/theme/black/img/thread_lock_dropdown_hover.png delete mode 100644 org.tizen.dynamicanalyzer/theme/black/img/thread_lock_dropdown_normal.png delete mode 100644 org.tizen.dynamicanalyzer/theme/black/img/thread_lock_dropdown_push.png create mode 100644 org.tizen.dynamicanalyzer/theme/black/img/time_line_dropdown_hover.png create mode 100644 org.tizen.dynamicanalyzer/theme/black/img/time_line_dropdown_normal.png create mode 100644 org.tizen.dynamicanalyzer/theme/black/img/time_line_dropdown_push.png create mode 100644 org.tizen.dynamicanalyzer/theme/white/img/time_line_dropdown_hover.png create mode 100644 org.tizen.dynamicanalyzer/theme/white/img/time_line_dropdown_normal.png create mode 100644 org.tizen.dynamicanalyzer/theme/white/img/time_line_dropdown_push.png diff --git a/org.tizen.dynamicanalyzer.widgets/Images/timeline_right_bg_selected.png b/org.tizen.dynamicanalyzer.widgets/Images/timeline_right_bg_selected.png index 979f7d1cdf7f9b5809afff56011199b9719f005f..01ea3cf0352166156729517ddd13ad595df2a8eb 100644 GIT binary patch delta 2749 zcmV;u3PSbz73CF>8At{I003T7ZFK+u00d`2O+f$vv5tKEQIh}w03c&XQcVB=hYtV% zj1K?+{Zaq`fj|HNeR%)?>5BjWJmmlY8O(D$g?9h|3OSKF8-Ga0otAf0RM!@V&%Jkg zq0KM?Qik5UzyQ*FlU_w(m>FOw0}eAZu_2-Y5k*9rB1llgfYDGSRz$H76jZPWBnT)m z7)4YpZ${ROuB^QG^78xRtZ(hJ_qqG*z0X<~0FtLKmzM@h0g%cQ@Pj;@=@F4pbnF0t z0Ult0DF94XMt{0ruzLs)$;-`!o*{AqUjza0dRV*yaMRE;fKCVhpQKsoe1Yhg01=zB zIT!&C1$=TK@rP|Ibo3vKKm@PqnO#LJhq6%Ij6Hz*<$V$ z@wQAMN5qJ)hzm2hoGcOF60t^#FqJFfH{#e-4l@G)6n{x<7jRgKA~q2*i60W=BI4x$ z;7AEyaokrd;A9KLmvTu<&*5_u5(RV}mM-1Y+L}T4f`(o2L0Dz>ZZyndax(`h}FNp#{x{a}MR#uh~m%}m=7xWMPPlvyu zufAs_KJJh5&|Nw4Oks+EF0LCZEhSCJr)Q)ySsc3IpNIG#2mW;)20@&74xhslMTCi_ zjLS<9wVTK03b<)JI+ypKn)naH{-njZ7KzgM5r0r)jDXa2DnNei2Pg^=Akq89UH_wR zzW6X8etF?4lZ$iz?>GHt!KLCQgPZU<&Lt>>&Jyx77x%=^5}*MANCGO52g*Pl=m0}t z2CRTBa0G6^8~B3|5D8WT7DxoCfDf`j9@qp5K{40~_JC?o2O2>$Xa&bXCpZPpgG=BV zxPJj|gZp3_t9A*$Rj(?fM zVzKgAeXJeUAIroFu!Yzv>{0Al>=1SW`vynEso>0T?zku%50{Utz#YMz!42UiaSM1U zye8fT?~iBWbMU43MtnE^I(`DbK#(SA6YK~fge1ZyLM5SA?cA^NYNxAX@3Xl5a}H0F6kwiOx7YhlB381@(yw{`2zV7`Hcic z!brkPf-SK@qDG=aVo2h-BwkWe(n)f)WUgd|}%DW=qVsT!%1QX^7x z(iCY^X@BWd=@RK9(pRLXWUw+?GHx<#nF5)EG8bgVDF{WK;zD6jHd7iY7k?=eR18&{ z>P1bW7E`~Y4p3)hWn`DhhRJ5j*2tcg9i<^OEt(fCg;q*CP8+7ZTcWhYX$fb^_9d-L zhL+6BEtPYW~-R zzqPTn5!f8J`OVhQHre)w?bLGZ<(%b>%g621?3i}-cBA%m`&jz}_M;A}4orszhsTcU zj%>#!$4Mt$rzEGNPS2f9ocYe}&hsudF6&&*xgxF}u0^f`Zhtavp>EY~kKEPV6Wm+e zXFV)D)_R=tM0@&p?(!V*Qu1PXHG9o^TY0bZ?)4%01p8F`JoeS|<@UTb~$^RW5+4u zOvc;Am&H#d*d^>vm`-#^tVo>Ux^SzxFOocy>XPP@{eP1WC4Wi@PiafVrN*Y7H6t~>7#3G*6dj`%lF|oWk4CLGP(p*(a%)BP)E2$IF@OjS(EuDD=h0o zwsbZxyFW)SXM4_Mu6ypcYf)=iYkTrk^ETy;t#evezaCm2x4vhC`i6oH6B|7?9^ORQ zl)UMue1DVtviw(@!#8&qC>3lh7~kTtrKM1!kY6~m)pl#$Hq#oSi8M;ejj_^(0<4Lt#wLu z#dYrva1Y$6_o(k^&}yhSh&h;f@JVA>W8b%oZ=0JGnu?n~9O4}sJsfnnx7n(>`H13? z(iXTy*fM=I`sj`CT)*pTHEgYKqqP+u1IL8No_-(u{qS+0<2@%BCt82d{Gqm;(q7a7 zb${e^%yuSrj&?mT-%DP~zdAhh zYT2uvxq!JxuTx(y%on|pe{=XP<89x&@OP67S?{s$D?jLd=>F*Q@xiCmPoMq;1DNyt zy2R+yks%i>02WC^K~yMHW4QF~|9>V1AQ&YEVHf}an<@lr>x9jz00000NkvXXu0mjf D;1W3x delta 2790 zcmVf z59&ghTmgWD0l;*TI709Y^p6lP1rIRMx#05C~cW=MYku(trf z&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@nX){&BsoQaTL>+2 z2Uk}v9w^R97b_GtVFF>AKrX_0nHe&HG!NkO%m4tOkrff(gY*4(&JM25&Nhy=4qq+m zzXtyzVq)X|<chpO2k52Vaiv1{%68pz*qfj`F=e7_x0eu;v|7GU4cgg_~63K z^h~83&yop*V%+ABNBp-7|NI@(BE(5zxmYR`<53cEjzpS_^D?C(i9&ypDa9qy|77Cd zEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S1Au6Q;m>#f??3%Vpd|o+ zW=WE9003S@Bra6Svp>fO002awfhw>;8}z{#EWidF!3EsG3;bXU&9EIRU@w2vKpix|QD}yfa1JiQRk#j4a1Z)n2%fLC6RbVIkUx z0b+_+BaR3cnT7Zv!AJxWizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(Hlcs#(5q+<+K)a%$1uR? z7zZ=NY%ngy!$Pq*ED4ii%dsM?46DW(uvV-CyNUH<&#`v|5`jg)2{r_GLLgxtK}c9k zSWehTs3069G!fbfHwgoTQNkx8lc-CyCb|*%#28{SF^5=4EF;zuj}tEtdx%5CHzX2? zLoz41kOE1uq*Q;>64FM}Zc-!ZEUB9`NE#!P$=YOVvIjYoEFde$h2)*&!{jsM8{{GK zTMC_GKyjq_Q{pI6%4$j(lp|(=5QHQ7#Gb=$C)!1N3(c4Tcqi$B1Vr8Jidf z7-t!G7_XR2rWwr)$3XQ?}=hpK0&Z&W{|ep&sA23f;Q!%st` zQJ}G3yAPZv|vv@2aYYnT0b%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB% zKL_KOarm5cP6_8IruC{HqePL%}7iYJ{uEXw=y_0>qeU1G+ z2MveW4yzqn9e#7PauhmNI^LSjobEq;#q@uc=`Uwk&k)bpGvl@s%PGWZol~3BM`ssj zxpRZ_h>M9!g3B(KJ}#RZ#@)!hR=4N)wtYw9={>5&Kw=W)* z2gz%*kgNq+Eef_mrsz~!DAy_nvS(#iX1~pe$~l&+o-57m%(KedkT;y~pa1O=!V=+< zwxxzkS1lb_=DnkCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$+<4_1hi}TincS4L zsjI}fWY1>OX6feMEuLErma3QLmkw?X+1j)X-&VBk_4Y;EFPF_I+q-{*wnMq2zdX3S zWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i&_B8C(+grT%{XWUQ+f@NoP1R=AW&26{ zv-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01)YTo*JycSU)+_5r4#yw9{+;i4Ee$pe zRgIj+;v;ZGdF1K$3EzMB9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4QQ=0o*Vq3aT%s$c9 z>fU<%N829{oHRUHc}nwC$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6=VQ*_Y7cMkx)5~X z(nbG^=R3SR&Rp`ibn>#>OB6F(@)2{oV$OTuDM)mx$b(swR>jw z=^LIm&fWCAdGQwi*43UlJ>9+YdT;l|_x0Zv-F|W>{m#p~*>@-It-MdXU-UrjLD@sy zht)q@{@mE_+<$7occAmp+(-8Yg@e!jk@b%cLj{kSkIRM)hU=a06Lfe02gnPU&TfM0025ANkle<`XMN37eMs$qWa;0O selectionListenrers; + private DACustomChartPlotIntervalMarker intervalMarker; + private boolean bSelection = true; // private final static int DEFAULT_CHART_ZOOMOUT_HEIGHT = 50; private final static int DEFAULT_CHART_ZOOMIN_HEIGHT = 80; @@ -92,19 +95,6 @@ public class DACustomChartBoard extends Composite { titleComp = new Composite(this, SWT.NONE); titleComp.setLayout(new FillLayout()); - // titleButton = new DACustomButton(this, SWT.NONE, title); - // titleButton.addClickListener(new DACustomButtonClickEventListener() { - // // FIXME - // // test - // // code - // - // @Override - // public void handleClickEvent(DACustomButton button) { - // DACustomChartBoardItem item = new DACustomChartBoardItem( - // (DACustomChartBoard) button.getParent(), null); - // } - // }); - chartZoomButton = new DACustomToggleButton(this, SWT.NONE); chartZoomButton .addClickListener(new DACustomButtonClickEventListener() { // FIXME @@ -159,20 +149,31 @@ public class DACustomChartBoard extends Composite { @Override public void controlResized(ControlEvent e) { + int clientWidth = chartTreeScrollComp.getClientArea().width; + Rectangle rtScroll = chartTreeScrollComp.getBounds(); + if (null != chartTreeComp) { - int width = chartTreeScrollComp.getClientArea().width; - // chartTreeComp.setSize(((ScrolledComposite)(e.widget)).getClientArea().width, - // chartTreeComp.getBounds().height); - chartTreeComp.setSize(width, + chartTreeComp.setSize(rtScroll.width, chartTreeComp.getBounds().height); int itemSize = items.size(); for (int i = 0; i < itemSize; i++) { DACustomChartBoardItem item = items.get(i); int height = item.getSize().y; - items.get(i).setSize(width, height); + items.get(i).setSize(clientWidth, height); } } + if (null != timeline) { + timeline.setSize(clientWidth + - DEFAULT_CHARTBOARD_SCALE_WIDTH, + timeline.getBounds().height); + } + if (null != scrollComp) { + scrollComp.setSize(clientWidth + - DEFAULT_CHARTBOARD_SCALE_WIDTH, + scrollComp.getBounds().height); + } + setChartAxis(); } @Override @@ -185,9 +186,11 @@ public class DACustomChartBoard extends Composite { public void paintControl(PaintEvent e) { // TODO Auto-generated method stub Rectangle rt = getClientArea(); + e.gc.setBackground(ColorResources.WHITE); e.gc.setForeground(ColorResources.CHART_BOARD_ITEM_LINE); e.gc.fillRectangle(rt); + int nItemSize = rt.height / chartHeight + 1; for (int i = 0; i < nItemSize; i++) { e.gc.drawRectangle(rt.x, i * chartHeight, @@ -227,7 +230,7 @@ public class DACustomChartBoard extends Composite { data = new FormData(); data.left = new FormAttachment(chartZoomButton, 0); data.top = new FormAttachment(0, 0); - data.right = new FormAttachment(100, 0); + // data.right = new FormAttachment(100, 0); data.height = DEFAULT_CHARTBOARD_HEADER_HEIGHT; timeline.setLayoutData(data); @@ -248,7 +251,7 @@ public class DACustomChartBoard extends Composite { data = new FormData(); data.left = new FormAttachment(scale, 0); - data.right = new FormAttachment(100, 0); + // data.right = new FormAttachment(100, 0); data.top = new FormAttachment(chartTreeScrollComp, 0); data.bottom = new FormAttachment(100, 0); data.height = DEFAULT_CHARTBOARD_FOOTER_HEIGHT; @@ -341,9 +344,10 @@ public class DACustomChartBoard extends Composite { protected void registeItem(DACustomChartBoardItem item) { items.add(item); - Rectangle rt = chartTreeComp.getBounds(); - chartTreeComp.setBounds(rt.x, rt.y, rt.width, rt.height + chartHeight); - item.setBounds(rt.x, rt.height, rt.width, chartHeight); + Rectangle rt = chartTreeComp.getClientArea(); + chartTreeComp.setSize(rt.width, rt.height + chartHeight); + int width = chartTreeScrollComp.getClientArea().width; + item.setBounds(rt.x, rt.height, width, chartHeight); } private int findItemIndex(DACustomChartBoardItem item) { @@ -398,6 +402,7 @@ public class DACustomChartBoard extends Composite { if (null != selectItem) { selectItem = null; } + intervalMarker = null; } public double getVisibleStartTime() { @@ -422,17 +427,22 @@ public class DACustomChartBoard extends Composite { } protected void NotifyCallbackSelection(DACustomChartBoardItem item) { + if (false == isSelection()) { + return; + } if (selectItem == item) { return; } else { if (null != oldImage && null != selectItem) { setChartBackgroundImage(selectItem.getChart(), oldImage); + selectItem.selectItem(false); } selectItem = item; oldImage = selectItem.getChart().getPlot().getBackgroundImage(); setChartBackgroundImage(selectItem.getChart(), ImageResources.CHART_BG_SELECT); + selectItem.selectItem(true); if (null != selectionListenrers) { for (int i = 0; i < selectionListenrers.size(); i++) { selectionListenrers.get(i).handleSelectionEvent(selectItem); @@ -452,4 +462,25 @@ public class DACustomChartBoard extends Composite { public Composite getTitleComp() { return titleComp; } + + private void initIntervalMarker() { + intervalMarker = new DACustomChartPlotIntervalMarker(-1, -1); + intervalMarker.setBackgroundColor(ColorResources.CHART_SELECTION_RANGE); + intervalMarker.setAlpha((int) (255 * 0.25)); + } + + public DACustomChartPlotIntervalMarker getIntervalMarker() { + if (null == intervalMarker) { + initIntervalMarker(); + } + return intervalMarker; + } + + public boolean isSelection() { + return bSelection; + } + + public void setSelection(boolean bSelection) { + this.bSelection = bSelection; + } } diff --git a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/chartBoard/DACustomChartBoardItem.java b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/chartBoard/DACustomChartBoardItem.java index 4f13268..924ca40 100644 --- a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/chartBoard/DACustomChartBoardItem.java +++ b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/chartBoard/DACustomChartBoardItem.java @@ -35,6 +35,7 @@ import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Composite; import org.tizen.dynamicanalyzer.widgets.chart.DACustomChart; +import org.tizen.dynamicanalyzer.widgets.chart.DACustomChartPlot; public class DACustomChartBoardItem extends Composite { private DACustomChartBoard parentBoard = null; @@ -45,7 +46,7 @@ public class DACustomChartBoardItem extends Composite { private String itemName; private boolean isFold = true; -// private boolean isExpand = false; + // private boolean isExpand = false; public final static int DEFAULT_ITEM_HEIGHT = 80; // FIXME get from public final static int DEFAULT_NAME_CELL_WIDTH = 99; private int depth = 0; @@ -227,12 +228,24 @@ public class DACustomChartBoardItem extends Composite { } public DACustomChart getChart() { + if (null == itemCell) { + return null; + } return itemCell.getChartCell(); } protected void setChartAxis(double startX, double endX) { DACustomChart chart = getChart(); - chart.getPlot().setAxisRangeX(startX, endX); + if (null == chart) { + return; + } + + DACustomChartPlot plot = chart.getPlot(); + + if (null == plot) { + return; + } + plot.setAxisRangeX(startX, endX); chart.redraw(); if (null == children) { return; @@ -242,4 +255,8 @@ public class DACustomChartBoardItem extends Composite { children.get(i).setChartAxis(startX, endX); } } + + protected void selectItem(boolean select) { + itemCell.setSelectCell(select); + } } diff --git a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/chartBoard/DACustomChartBoardItemCell.java b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/chartBoard/DACustomChartBoardItemCell.java index ad6d7d2..c83595a 100644 --- a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/chartBoard/DACustomChartBoardItemCell.java +++ b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/chartBoard/DACustomChartBoardItemCell.java @@ -53,6 +53,7 @@ class DACustomChartBoardItemCell extends Composite { private final static int DEFAULT_TOGGLE_BUTTON_SIZE = 10; private final static int DEFAULT_TOGGLE_BUTTON_MARGIN = 5; private int nameCellWidth = DACustomChartBoardItem.DEFAULT_NAME_CELL_WIDTH; + private boolean selectCell = false; public DACustomChartBoardItemCell(final DACustomChartBoardItem parent) { super(parent, SWT.NONE); @@ -65,12 +66,12 @@ class DACustomChartBoardItemCell extends Composite { Rectangle rt = getBounds(); if (null != nameCell) { - nameCell.setBounds(rt.x, rt.y+1, nameCellWidth, - rt.height-1); + nameCell.setBounds(rt.x, rt.y + 1, nameCellWidth, + rt.height - 1); } if (null != chartCell) { - chartCell.setBounds(rt.x + nameCellWidth, rt.y+1, - rt.width - nameCellWidth, rt.height-1); + chartCell.setBounds(rt.x + nameCellWidth, rt.y + 1, + rt.width - nameCellWidth, rt.height - 1); } } @@ -87,8 +88,13 @@ class DACustomChartBoardItemCell extends Composite { public void paintControl(PaintEvent e) { Rectangle rect = ((Canvas) (e.widget)).getClientArea(); if (parent.getDepth() == 0) { - e.gc.setForeground(ColorResources.CHART_NAME_BACK_START); // FIXME - e.gc.setBackground(ColorResources.CHART_NAME_BACK_END); // FIXME + if (false == isSelectCell()) { + e.gc.setForeground(ColorResources.CHART_NAME_BACK_START); // FIXME + e.gc.setBackground(ColorResources.CHART_NAME_BACK_END); // FIXME + } else { + e.gc.setForeground(ColorResources.CHART_NAME_SELECT_BACK_START); // FIXME + e.gc.setBackground(ColorResources.CHART_NAME_SELECT_BACK_END); // FIXME + } } else { e.gc.setForeground(ColorResources.CHART_NAME_CHILD_BACK); // FIXME e.gc.setBackground(ColorResources.CHART_NAME_CHILD_BACK); @@ -153,7 +159,8 @@ class DACustomChartBoardItemCell extends Composite { } childExpandButton = new DACustomToggleButton(nameCell, ImageResources.TREE_FOLD, ImageResources.TREE_FOLD, - ImageResources.TREE_FOLD, null, ImageResources.TREE_OPEN, ImageResources.TREE_OPEN); + ImageResources.TREE_FOLD, null, ImageResources.TREE_OPEN, + ImageResources.TREE_OPEN); childExpandButton .setBackground(ColorResources.CHART_BOARD_ITEM_NAME_FOLD_BG); Rectangle rt = nameCell.getClientArea(); @@ -170,15 +177,13 @@ class DACustomChartBoardItemCell extends Composite { childExpandButton.setImages( ImageResources.TREE_FOLD, ImageResources.TREE_OPEN, - ImageResources.TREE_OPEN, - null); + ImageResources.TREE_OPEN, null); parent.callbackUnFold(); } else { childExpandButton.setImages( ImageResources.TREE_FOLD, ImageResources.TREE_FOLD, - ImageResources.TREE_FOLD, - null); + ImageResources.TREE_FOLD, null); parent.callbackFold(); } } @@ -197,4 +202,13 @@ class DACustomChartBoardItemCell extends Composite { p = gc.textExtent(name, SWT.DRAW_DELIMITER); gc.drawText(name, pixcelX - p.x / 2, pixcelY - p.y / 2, true); } + + public boolean isSelectCell() { + return selectCell; + } + + public void setSelectCell(boolean selectCell) { + this.selectCell = selectCell; + nameCell.redraw(); + } } diff --git a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/helper/ColorResources.java b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/helper/ColorResources.java index 55bb649..da3e380 100644 --- a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/helper/ColorResources.java +++ b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/helper/ColorResources.java @@ -38,37 +38,60 @@ public class ColorResources { public static final Color BLUE = getColor("blue", new RGB(0, 0, 255)); //$NON-NLS-1$ public static final Color RED = getColor("red", new RGB(255, 0, 0)); //$NON-NLS-1$ public static final Color PURPLE = getColor("PUPLE", new RGB(226, 101, 225)); //$NON-NLS-1$ - + // scale widget - public static Color SCALE_OUTLINE_COLOR = getColor("scale_outline_color", new RGB(150, 150, 150)); //$NON-NLS-1$ - public static Color SCALE_BG_COLOR_START = getColor("scale_bg_color_start", new RGB(253,253,253)); //$NON-NLS-1$ - public static Color SCALE_BG_COLOR_END = getColor("scale_bg_color_end", new RGB(186,186,186)); //$NON-NLS-1$ - public static Color SCALE_AREA_COLOR = getColor("scale_area_color", new RGB(103, 103, 103)); //$NON-NLS-1$ - public static Color SCALE_AREA_OUTLINE_COLOR = getColor("scale_area_outline_color", new RGB(250, 250, 250)); //$NON-NLS-1$ + public static Color SCALE_OUTLINE_COLOR = getColor( + "scale_outline_color", new RGB(150, 150, 150)); //$NON-NLS-1$ + public static Color SCALE_BG_COLOR_START = getColor( + "scale_bg_color_start", new RGB(253, 253, 253)); //$NON-NLS-1$ + public static Color SCALE_BG_COLOR_END = getColor( + "scale_bg_color_end", new RGB(186, 186, 186)); //$NON-NLS-1$ + public static Color SCALE_AREA_COLOR = getColor( + "scale_area_color", new RGB(103, 103, 103)); //$NON-NLS-1$ + public static Color SCALE_AREA_OUTLINE_COLOR = getColor( + "scale_area_outline_color", new RGB(250, 250, 250)); //$NON-NLS-1$ - //timeline - public static Color TIMELINE_NUMBER_COLOR = getColor("timeline_number", new RGB(0, 45, 96)); //$NON-NLS-1$ - public static Color TIMELINE_TICK_COLOR = getColor("timeline_tick", new RGB(159, 159, 159)); //$NON-NLS-1$ - public static Color TIMELINE_BG_COLOR = getColor("timeline_bg", new RGB(247, 247, 247)); //$NON-NLS-1$ + // timeline + public static Color TIMELINE_NUMBER_COLOR = getColor( + "timeline_number", new RGB(0, 45, 96)); //$NON-NLS-1$ + public static Color TIMELINE_TICK_COLOR = getColor( + "timeline_tick", new RGB(159, 159, 159)); //$NON-NLS-1$ + public static Color TIMELINE_BG_COLOR = getColor( + "timeline_bg", new RGB(247, 247, 247)); //$NON-NLS-1$ + + // chart + public static Color CHART_NAME_BACK_START = getColor( + "chart_name_back_start", new RGB(215, 215, 215)); //$NON-NLS-1$ + public static Color CHART_NAME_BACK_END = getColor( + "chart_name_back_end", new RGB(157, 166, 168)); //$NON-NLS-1$ + public static Color CHART_NAME_SELECT_BACK_START = getColor( + "chart_name_back_select_start", new RGB(180, 242, 254)); //$NON-NLS-1$ + public static Color CHART_NAME_SELECT_BACK_END = getColor( + "chart_name_back_select_end", new RGB(56, 178, 208)); //$NON-NLS-1$ + public static Color CHART_NAME_CHILD_BACK = getColor( + "chart_name_child_back", new RGB(103, 103, 103)); //$NON-NLS-1$ + + public static Color UI_EVENT_CHART_SEPERATE_LINE = getColor( + "UI_event_chart_seperate_line", new RGB(189, 207, 213)); //$NON-NLS-1$ + public static Color UI_EVENT_CHART_TEXT = getColor( + "UI_event _chat_text", new RGB(83, 83, 83)); //$NON-NLS-1$ + + public static Color SCREENSHOT_CHART_SELECTED_LINE = getColor( + "screenshot_chart_selected_line", new RGB(59, 188, 232)); //$NON-NLS-1$ + public static Color SCREENSHOT_CHART_BORDER_LINE = getColor( + "screenshot_chart_border_line", new RGB(117, 117, 117)); //$NON-NLS-1$ + + public static Color CHART_BOARD_BACK = getColor( + "chart_board_back", new RGB(230, 230, 230)); //$NON-NLS-1$ + public static Color CHART_BOARD_ITEM_LINE = getColor( + "chart_board_item_line", new RGB(171, 171, 171)); //$NON-NLS-1$ - //chart - public static Color CHART_NAME_BACK_START = getColor("chart_name_back_start", new RGB(215, 215, 215)); //$NON-NLS-1$ - public static Color CHART_NAME_BACK_END = getColor("chart_name_back_end", new RGB(157, 166, 168)); //$NON-NLS-1$ - public static Color CHART_NAME_CHILD_BACK = getColor("chart_name_child_back", new RGB(103, 103, 103)); //$NON-NLS-1$ - - public static Color UI_EVENT_CHART_SEPERATE_LINE = getColor("UI_event_chart_seperate_line", new RGB(189, 207, 213)); //$NON-NLS-1$ - public static Color UI_EVENT_CHART_TEXT = getColor("UI_event _chat_text", new RGB(83, 83, 83)); //$NON-NLS-1$ - - public static Color SCREENSHOT_CHART_SELECTED_LINE = getColor("screenshot_chart_selected_line" , new RGB(59, 188, 232)); //$NON-NLS-1$ - public static Color SCREENSHOT_CHART_BORDER_LINE = getColor("screenshot_chart_border_line" , new RGB(117, 117, 117)); //$NON-NLS-1$ - - public static Color CHART_BOARD_BACK = getColor("chart_board_back", new RGB(230, 230, 230)); //$NON-NLS-1$ - public static Color CHART_BOARD_ITEM_LINE = getColor("chart_board_item_line", new RGB(171, 171, 171)); //$NON-NLS-1$ - public static Color CHART_BOARD_ITEM_NAME_FOLD_BG = getColor( "chart_fold_bg", new RGB(186, 190, 191)); //$NON-NLS-1$ - + public static Color CHART_SELECTION_RANGE = getColor( + "chart_selection_range", new RGB(23, 98, 132)); //$NON-NLS-1$ + // shell window background color public static final Color WINDOW_BG_COLOR = getColor( "window_bg_color", new RGB(51, 52, 53)); //$NON-NLS-1$ @@ -77,8 +100,8 @@ public class ColorResources { // public static final Color TITLEBAR_TEXT_COLOR = getColor( // "titlebar_text_color", new RGB(64, 208, 255)); //$NON-NLS-1$ // - public static final Color TITLEBAR_BG_COLOR = getColor( - "titlebar_bg", new RGB(78, 79, 81)); //$NON-NLS-1$ + public static final Color TITLEBAR_BG_COLOR = getColor( + "titlebar_bg", new RGB(78, 79, 81)); //$NON-NLS-1$ // // /** device and application combo specific colors start **/ // public static final Color DEVICE_APPLICATION_ENABLE = WHITE; @@ -279,8 +302,8 @@ public class ColorResources { // "barGRAY3", new RGB(216, 216, 216)); //$NON-NLS-1$ // // /* Timeline */ - public static final Color ITEM_BLUE_BRIGHT = getColor("item blue right", - new RGB(131, 196, 218));//$NON-NLS-1$ + public static final Color ITEM_BLUE_BRIGHT = getColor("item blue right", + new RGB(131, 196, 218));//$NON-NLS-1$ public static final Color ITEM_BLUE_DARK = getColor("item blue dark", new RGB(38, 104, 138));//$NON-NLS-1$ diff --git a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/timeline/DACustomTimelineRenderer.java b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/timeline/DACustomTimelineRenderer.java index 35ca2b5..0a21cd6 100644 --- a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/timeline/DACustomTimelineRenderer.java +++ b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/timeline/DACustomTimelineRenderer.java @@ -57,7 +57,6 @@ public class DACustomTimelineRenderer { gc.setFont(font); gc.setBackground(ColorResources.TIMELINE_BG_COLOR); gc.fillRectangle(rt); - gc.drawRectangle(0, 0, rt.width - 1, rt.height - 1); // draw underLine gc.drawLine(0, rt.height - 1, rt.width, rt.height - 1); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/resources/ImageResources.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/resources/ImageResources.java index 4e51443..44cdbd5 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/resources/ImageResources.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/resources/ImageResources.java @@ -302,10 +302,10 @@ public class ImageResources { public static final Image STOP_PROGRESS_LOADING_08 = getPngImage("loading_icon_08"); //$NON-NLS-1$ /*** thread page ***/ - public static final Image THREAD_LOCK_COMBO_DISABLE = getPngImage("thread_lock_dropdown_disable"); //$NON-NLS-1$ - public static final Image THREAD_LOCK_COMBO_NORMAL = getPngImage("thread_lock_dropdown_normal"); //$NON-NLS-1$ - public static final Image THREAD_LOCK_COMBO_HOVER = getPngImage("thread_lock_dropdown_hover"); //$NON-NLS-1$ - public static final Image THREAD_LOCK_COMBO_PUSH = getPngImage("thread_lock_dropdown_push"); //$NON-NLS-1$ +// public static final Image TIMELINE_DROPDOWN_DISABLE = getPngImage("time_line_dropdown_disable"); //$NON-NLS-1$ + public static final Image TIMELINE_DROPDOWN_NORMAL = getPngImage("time_line_dropdown_normal"); //$NON-NLS-1$ + public static final Image TIMELINE_DROPDOWN_HOVER = getPngImage("time_line_dropdown_hover"); //$NON-NLS-1$ + public static final Image TIMELINE_DROPDOWN_PUSH = getPngImage("time_line_dropdown_push"); //$NON-NLS-1$ private static Image getImage(String pluginId, String folderName, String imageName, String extension) { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartView.java index 6e797d5..450be73 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartView.java @@ -29,7 +29,6 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; -import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.logparser.LogPackage; import org.tizen.dynamicanalyzer.model.DAView; @@ -42,8 +41,6 @@ import org.tizen.dynamicanalyzer.ui.widgets.TitleComboPopupRenderer; import org.tizen.dynamicanalyzer.ui.widgets.TitleComboRenderer; import org.tizen.dynamicanalyzer.ui.widgets.ViewContainer; import org.tizen.dynamicanalyzer.widgets.chartBoard.DACustomChartBoard; -import org.tizen.dynamicanalyzer.widgets.chartBoard.DACustomChartBoardItem; -import org.tizen.dynamicanalyzer.widgets.chartBoard.DACustomChartBoardSelectionListener; import org.tizen.dynamicanalyzer.widgets.combo.DACustomCombo; public class ThreadChartView extends DAView { @@ -69,29 +66,12 @@ public class ThreadChartView extends DAView { threadChart = new DACustomChartBoard(contents, ThreadPageLabels.THREAD_CHART_TITLE); - threadChart - .addSelectionListener(new DACustomChartBoardSelectionListener() { - - @Override - public void handleSelectionEvent(DACustomChartBoardItem item) { - ThreadPageData itemData = (ThreadPageData) item - .getData(); - if (!(itemData instanceof ThreadPageData)) { - System.out - .println("error : item selected but can't get data"); - return; - } - DASelectionData data = new DASelectionData( - ThreadChartView.ID, 0, 0, itemData, threadChart); - AnalyzerManager.getCurrentPage().updatePage(data); - } - }); combo = new DACustomCombo(threadChart.getTitleComp(), SWT.NONE); - combo.setImages(ImageResources.THREAD_LOCK_COMBO_NORMAL, - ImageResources.THREAD_LOCK_COMBO_HOVER, - ImageResources.THREAD_LOCK_COMBO_PUSH, - ImageResources.THREAD_LOCK_COMBO_DISABLE); + combo.setImages(ImageResources.TIMELINE_DROPDOWN_NORMAL, + ImageResources.TIMELINE_DROPDOWN_HOVER, + ImageResources.TIMELINE_DROPDOWN_PUSH, + ImageResources.TIMELINE_DROPDOWN_NORMAL); combo.add("Thread"); // combo.add("Lock"); //FIXME combo.select(0); @@ -122,6 +102,11 @@ public class ThreadChartView extends DAView { } @Override + public void updateView(DASelectionData data) { // FIXME + + } + + @Override public void updateLog(LogPackage logPack) { tManager.parsePageData(logPack); } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageDataManager.java index 1f2f6e9..ba7684a 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageDataManager.java @@ -28,7 +28,11 @@ package org.tizen.dynamicanalyzer.ui.thread; import java.util.ArrayList; import java.util.List; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Listener; import org.tizen.dynamicanalyzer.common.AnalyzerManager; +import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.logparser.LogPackage; import org.tizen.dynamicanalyzer.logparser.Logs; @@ -37,6 +41,7 @@ import org.tizen.dynamicanalyzer.project.Project; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.ImageResources; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; +import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineView; import org.tizen.dynamicanalyzer.widgets.chart.DACustomChart; import org.tizen.dynamicanalyzer.widgets.chart.DACustomChartPlot; import org.tizen.dynamicanalyzer.widgets.chart.DACustomChartSeries; @@ -83,8 +88,59 @@ public class ThreadPageDataManager { setChartStyle(chart); data.setItem(item); item.setData(data); + chart.setData(data); chart.redraw(); } + + private void sendSelectionTimes(DACustomChart chart, double start, double end){ + long startTime = (long) (start * TimelineConstants.MEGA); + long endTime = (long) (end * TimelineConstants.MEGA); + if(endTime < startTime){ + long temp = startTime; + startTime = endTime; + endTime = temp; + } + if(startTime < 0){ + startTime = 0; + } + AnalyzerManager.getCurrentPage().updatePage(new DASelectionData(TimelineView.ID, startTime, endTime, chart.getData(), chart)); + } + + private Listener chartMouseListener = new Listener() { + + @Override + public void handleEvent(Event event) { + DACustomChart chart = (DACustomChart) event.widget; + DACustomChartPlot plot = chart.getPlot(); + + switch (event.type) { + case SWT.MouseMove: + if ((event.stateMask & SWT.BUTTON1) != 0) { + board.getIntervalMarker().setEndVal(plot.getXFromXPixcel(event.x)); + } + break; + case SWT.MouseDown: + board.getIntervalMarker().setInterval(plot.getXFromXPixcel(event.x), plot.getXFromXPixcel(event.x)); + break; + case SWT.MouseUp: + double endVal = plot.getXFromXPixcel(event.x); + if(endVal <= plot.getVisibleEndX()){ + board.getIntervalMarker().setEndVal(endVal); + } + else{ + board.getIntervalMarker().setEndVal(plot.getVisibleEndX()); + } + sendSelectionTimes(chart, board.getIntervalMarker().getStartVal(),board.getIntervalMarker().getEndVal()); + break; + case SWT.MouseEnter: + break; + case SWT.MouseExit: + break; + default: + break; + } + } + }; protected void setChartStyle(DACustomChart chart) { if (null == chart) { @@ -98,9 +154,15 @@ public class ThreadPageDataManager { plot.setBackgroundImage(ImageResources.BG_GRADIENT); plot.setAutoHeightRange(false); // plot.setTooltip(new DACustomChartPlotTooltip(-1)); - chart.getPlot().setAxisRangeY(0, 101); - chart.getPlot().setAxisRangeX(board.getVisibleStartTime(), + plot.setAxisRangeY(0, 101); + plot.setAxisRangeX(board.getVisibleStartTime(), board.getVisibleEndTime()); + plot.setIntervalMarker(board.getIntervalMarker()); + chart.addListener(SWT.MouseMove, chartMouseListener); + chart.addListener(SWT.MouseDown, chartMouseListener); + chart.addListener(SWT.MouseUp, chartMouseListener); + chart.addListener(SWT.MouseEnter, chartMouseListener); + chart.addListener(SWT.MouseExit, chartMouseListener); } private void setChartSeries(DACustomChart chart) { diff --git a/org.tizen.dynamicanalyzer/theme/black/img/thread_lock_dropdown_disable.png b/org.tizen.dynamicanalyzer/theme/black/img/thread_lock_dropdown_disable.png deleted file mode 100644 index 3ed5f1469595a24bb520ae15bfc2b043aee2e9e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3078 zcmV+h4EghkP)004&%004{+008|`004nN004b?008NW002DY000@xb3BE2000U( zX+uL$P-t&-Z*ypGa3D!TLm+T+Z)Rz1WdHz3$DNjUR8-d%htIutdZEoQ0#b(FyTAa_ zdy`&8VVD_UC<6{NG_fI~0ue<-nj%P0#DLLIBvwSR5EN9f2P6n6F&ITuEN@2Ei>|D^ z_ww@lRz|vC zuzLs)$;-`!o*{AqUjza0dRV*yaMRE;fKCVhpQKsoe1Yhg01=zBIT!&C1$=TK@rP|Ibo3vKKm@PqnO#LJhq6%Ij6Hz*<$V$@wQAMN5qJ)hzm2h zoGcOF60t^#FqJFfH{#e-4l@G)6iI9sa9D{VHW4w29}?su;^hF~NC{tY+*d5%WDCTX za!E_i;d2ub1#}&jF5T4HnnCyEWTkKf0>c0%E1Ah>(_PY1)0w;+02c53Su*0<(nUqK zG_|(0G&D0Z{i;y^b@OjZ+}lNZ8Th$p5Uu}MTtq^NHl*T1?CO*}7&0ztZsv2j*bmJyf3G7=Z`5B*PvzoDiKdLpOAxi2$L0#SX*@cY z_n(^h55xYX#km%V()bZjV~l{*bt*u9?FT3d5g^g~#a;iSZ@&02Abxq_DwB(I|L-^b zXThc7C4-yrInE_0gw7K3GZ**7&k~>k0Z0NWkO#^@9q0fwx1%qj zZ=)yBuQ3=54Wo^*!gyjLF-e%Um=erBOdIALW)L%unZshS@>qSW9o8Sq#0s#5*edK% z>{;v(b^`kbN5rY%%y90wC>#%$kE_5P!JWYk;U;klcqzOl-UjcFXXA75rT9jCH~u<) z0>40zCTJ7v2qAyk54cquI@7b&LHdZ`+zlTss6bJ7%PQ)z$cROu4wBhpu-r)01) zS~6}jY?%U?gEALn#wiFzo#H}aQ8rT=DHkadR18&{>P1bW7E`~Y4p3)hWn`DhhRJ5j z*2tcg9i<^OEt(fCg;q*CP8+7ZTcWhYX$fb^_9d-LhL+6BEtPYWVlfKTBusSTASKKb%HuWJzl+By+?gkLq)?+BTu761 zjmyXF)a;mc^>(B7bo*HQ1NNg1st!zt28YLv>W*y3CdWx9U8f|cqfXDAO`Q48?auQq zHZJR2&bcD49Ip>EY~kKEPV6Wm+eXFV)D)_R=tM0@&p?(!V*Qu1PXHG9o^ zTY0bZ?)4%01p8F`JoeS|<@=<@RE7GY07EYX@lwd>4oW|Yi!o+Su@M`;WuSK z8LKk71XR(_RKHM1xJ5XYX`fk>`6eqY>qNG6HZQwBM=xi4&Sb88?zd}EYguc1@>KIS z<&CX#T35dwS|7K*XM_5Nf(;WJJvJWRMA($P>8E^?{IdL4o5MGE7bq2MEEwP7v8AO@ zqL5!WvekBL-8R%V?zVyL=G&{be=K4bT`e{#t|)$A!YaA?jp;X)-+bB;zhj`(vULAW z%ue3U;av{94wp%n<(7@__S@Z2PA@Mif3+uO&y|X06?J#oSi8M;ejj_^(0<4Lt#wLu#dYrva1Y$6_o(k^&}yhSh&h;f@JVA>W8b%o zZ=0JGnu?n~9O4}sJsfnnx7n(>`H13?(iXTy*fM=I`sj`CT)*pTHEgYKqqP+u1IL8N zo_-(u{qS+0<2@%BCt82d{Gqm;(q7a7b>wu+b|!X?c13m#p7cK1({0<`{-e>4hfb-U zsyQuty7Ua;Ou?B?XLHZaol8GAb3Wnxcu!2v{R_`T4=x`(GvqLI{-*2AOSimk zUAw*F_TX^n@STz9kDQ z$NC=!KfXWC8h`dn#xL(D3Z9UkR7|Q&Hcy#Notk!^zVUSB(}`#4&lYA1f0h2V_PNgU zAAWQEt$#LRcH#y9#i!p(Udq2b^lI6wp1FXzN3T;~FU%Lck$-deE#qz9yYP3D3t8{6 z?<+s(e(3(_^YOu_)K8!O1p}D#{JO;G(*OVf32;bRa{vGi!~g&e!~vBn4jTXf0XIoR zK~!i%?U_vqgD?<y(*#+TfhdYX5lGV%_I>|D zJM@0CX`0Y=otlJ#v27c~am+9@a6uS---BgYU}(^1$qx=Nj34?n7zV@mAqR-2Vi*Qo z^D50Ng8&9X7{~FH!!Rf~ufZ?~VBq=9wr!Z_8J1;HE%vYHI)*_6!}C1AL;%>nJ7hBq z0vITP5P~28*L79VryArBu zi#7EmNw{iz*R?N>JC)G$JeO5fK@>%B9LE=B_*HitI9)C^O{1<|@gavk2k_eU0p(P1 ULbISab^rhX07*qoM6N<$f@s#e)&Kwi diff --git a/org.tizen.dynamicanalyzer/theme/black/img/thread_lock_dropdown_hover.png b/org.tizen.dynamicanalyzer/theme/black/img/thread_lock_dropdown_hover.png deleted file mode 100644 index 7072a7e8cd67913f761556de618f2f31da985256..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3439 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 diff --git a/org.tizen.dynamicanalyzer/theme/black/img/thread_lock_dropdown_push.png b/org.tizen.dynamicanalyzer/theme/black/img/thread_lock_dropdown_push.png deleted file mode 100644 index b10be2f48d1fd12db625267954c1342e03d6ab9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3347 zcmV+u4eauXP)004&%004{+008|`004nN004b?008NW002DY000@xb3BE2000U( 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 diff --git a/org.tizen.dynamicanalyzer/theme/black/img/time_line_dropdown_hover.png b/org.tizen.dynamicanalyzer/theme/black/img/time_line_dropdown_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..e3e52ba09cd2775e27566c92f4596586ca5f7df0 GIT binary patch literal 2962 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 literal 0 HcmV?d00001 diff --git a/org.tizen.dynamicanalyzer/theme/black/img/time_line_dropdown_push.png b/org.tizen.dynamicanalyzer/theme/black/img/time_line_dropdown_push.png new file mode 100644 index 0000000000000000000000000000000000000000..14e71c66a13fd8cde846aec87595d99912f94c36 GIT binary patch literal 2950 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 literal 0 HcmV?d00001 diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_dropdown_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_dropdown_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..e3e52ba09cd2775e27566c92f4596586ca5f7df0 GIT binary patch literal 2962 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 literal 0 HcmV?d00001 diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_dropdown_push.png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_dropdown_push.png new file mode 100644 index 0000000000000000000000000000000000000000..14e71c66a13fd8cde846aec87595d99912f94c36 GIT binary patch literal 2950 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 literal 0 HcmV?d00001 -- 2.7.4