/*****************************************************************************
- * Copyright (c) 2007, 2015 Intel Corporation, Ericsson
+ * Copyright (c) 2007, 2016 Intel Corporation, Ericsson
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
addMouseListener(this);
addMouseMoveListener(this);
TimeDraw.updateTimeZone();
- }
-
- @Override
- public void dispose() {
- TmfSignalManager.deregister(this);
- super.dispose();
+ addDisposeListener((e) -> {
+ TmfSignalManager.deregister(TimeGraphScale.this);
+ });
}
/**
*/
public void drawAbsHeader(GC gc, long nanosec, Rectangle absHeaderRect) {
}
+
+ protected void drawAbsHeader(GC gc, long nanosec, Rectangle rect, SimpleDateFormat dateFormat) {
+ String header;
+ synchronized (dateFormat) {
+ header = dateFormat.format(new Date(nanosec / MILLISEC_IN_NS));
+ }
+ int headerwidth = gc.stringExtent(header).x + 4;
+ if (headerwidth <= rect.width) {
+ rect.x += (rect.width - headerwidth);
+ Utils.drawText(gc, header, rect, true);
+ }
+ }
}
class TimeDrawSec extends TimeDraw {
@Override
public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header;
- synchronized (DAY_FORMAT_HEADER) {
- header = DAY_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- }
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
+ drawAbsHeader(gc, nanosec, rect, DAY_FORMAT_HEADER);
}
}
@Override
public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header;
- synchronized (HOURS_FORMAT_HEADER) {
- header = HOURS_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- }
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
+ drawAbsHeader(gc, nanosec, rect, HOURS_FORMAT_HEADER);
}
}
@Override
public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header;
- synchronized (MIN_FORMAT_HEADER) {
- header = MIN_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- }
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
+ drawAbsHeader(gc, nanosec, rect, MIN_FORMAT_HEADER);
}
}
@Override
public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header;
- synchronized (SEC_FORMAT_HEADER) {
- header = SEC_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- }
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
+ drawAbsHeader(gc, nanosec, rect, SEC_FORMAT_HEADER);
}
}
@Override
public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header;
- synchronized (SEC_FORMAT_HEADER) {
- header = SEC_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- }
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
+ drawAbsHeader(gc, nanosec, rect, SEC_FORMAT_HEADER);
}
}
@Override
public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header;
- synchronized (SEC_FORMAT_HEADER) {
- header = SEC_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- }
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
+ drawAbsHeader(gc, nanosec, rect, SEC_FORMAT_HEADER);
}
}
@Override
public void drawAbsHeader(GC gc, long nanosec, Rectangle rect) {
- String header;
- synchronized (SEC_FORMAT_HEADER) {
- header = SEC_FORMAT_HEADER.format(new Date(nanosec / MILLISEC_IN_NS));
- }
- int headerwidth = gc.stringExtent(header).x + 4;
- if (headerwidth <= rect.width) {
- rect.x += (rect.width - headerwidth);
- Utils.drawText(gc, header, rect, true);
- }
+ drawAbsHeader(gc, nanosec, rect, SEC_FORMAT_HEADER);
}
}
String stime = Utils.formatTime(time, TimeFormat.CYCLES, Resolution.SECONDS);
return Utils.drawText(gc, stime, rect, true);
}
-}
+}
\ No newline at end of file