Merge branch '#137_custom_chart_position' into develop
This commit is contained in:
commit
0aa479a2be
|
@ -1,8 +1,10 @@
|
||||||
namespace Gtk.CairoChart {
|
namespace Gtk.CairoChart {
|
||||||
public class Chart {
|
public class Chart {
|
||||||
|
|
||||||
public double width = 0;
|
public double x_min = 0.0;
|
||||||
public double height = 0;
|
public double y_min = 0.0;
|
||||||
|
public double width = 0.0;
|
||||||
|
public double height = 0.0;
|
||||||
|
|
||||||
public Cairo.Context context = null;
|
public Cairo.Context context = null;
|
||||||
|
|
||||||
|
@ -52,9 +54,10 @@ namespace Gtk.CairoChart {
|
||||||
|
|
||||||
public virtual bool draw () {
|
public virtual bool draw () {
|
||||||
|
|
||||||
cur_x_min = cur_y_min = 0.0;
|
cur_x_min = x_min;
|
||||||
cur_x_max = width;
|
cur_y_min = y_min;
|
||||||
cur_y_max = height;
|
cur_x_max = x_min + width;
|
||||||
|
cur_y_max = y_min + height;
|
||||||
|
|
||||||
draw_chart_title ();
|
draw_chart_title ();
|
||||||
check_cur_values ();
|
check_cur_values ();
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
SET (BinName chart_test)
|
SET (BinName chart_test)
|
||||||
FILE (GLOB_RECURSE BinSources RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ChartTest.vala)
|
FILE (GLOB_RECURSE BinSources RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ChartTest.vala)
|
||||||
SET (BinPackages gtk+-3.0)
|
SET (BinPackages gtk+-3.0)
|
||||||
|
SET (BinPkgModules gtk+-3.0)
|
||||||
SET (BinCustomVapis ${CMAKE_BINARY_DIR}/src/${PROJECT_LOWERCASE_NAME}-${MAJOR}.vapi ${CMAKE_SOURCE_DIR}/src/cairo-chart-float128type.vapi)
|
SET (BinCustomVapis ${CMAKE_BINARY_DIR}/src/${PROJECT_LOWERCASE_NAME}-${MAJOR}.vapi ${CMAKE_SOURCE_DIR}/src/cairo-chart-float128type.vapi)
|
||||||
SET (BinLinkLibs ${PROJECT_LOWERCASE_NAME})
|
SET (BinLinkLibs ${PROJECT_LOWERCASE_NAME})
|
||||||
INCLUDE_DIRECTORIES ("${CMAKE_BINARY_DIR}/src;${CMAKE_SOURCE_DIR}/src")
|
INCLUDE_DIRECTORIES ("${CMAKE_BINARY_DIR}/src;${CMAKE_SOURCE_DIR}/src")
|
||||||
|
|
|
@ -367,15 +367,16 @@ int main (string[] args) {
|
||||||
da.queue_draw_area(0, 0, da.get_allocated_width(), da.get_allocated_height());
|
da.queue_draw_area(0, 0, da.get_allocated_width(), da.get_allocated_height());
|
||||||
|
|
||||||
da.button_press_event.connect((event) => {
|
da.button_press_event.connect((event) => {
|
||||||
|
if (!point_in_chart(chart, event.x, event.y)) return true;
|
||||||
|
|
||||||
if (event.button == 2 && point_in_chart(chart, event.x, event.y)) {
|
if (event.button == 2) {
|
||||||
draw_selection = true;
|
draw_selection = true;
|
||||||
sel_x0 = sel_x1 = event.x;
|
sel_x0 = sel_x1 = event.x;
|
||||||
sel_y0 = sel_y1 = event.y;
|
sel_y0 = sel_y1 = event.y;
|
||||||
da.queue_draw_area(0, 0, da.get_allocated_width(), da.get_allocated_height());
|
da.queue_draw_area(0, 0, da.get_allocated_width(), da.get_allocated_height());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.button == 3 && point_in_chart(chart, event.x, event.y)) {
|
if (event.button == 3) {
|
||||||
moving_chart = true;
|
moving_chart = true;
|
||||||
mov_x0 = event.x;
|
mov_x0 = event.x;
|
||||||
mov_y0 = event.y;
|
mov_y0 = event.y;
|
||||||
|
@ -386,6 +387,8 @@ int main (string[] args) {
|
||||||
});
|
});
|
||||||
da.button_release_event.connect((event) => {
|
da.button_release_event.connect((event) => {
|
||||||
|
|
||||||
|
if (!point_in_chart(chart, event.x, event.y)) return true;
|
||||||
|
|
||||||
//var ret = chart.button_release_event(event);
|
//var ret = chart.button_release_event(event);
|
||||||
if (event.button == 2) {
|
if (event.button == 2) {
|
||||||
draw_selection = false;
|
draw_selection = false;
|
||||||
|
@ -398,7 +401,7 @@ int main (string[] args) {
|
||||||
da.queue_draw_area(0, 0, da.get_allocated_width(), da.get_allocated_height());
|
da.queue_draw_area(0, 0, da.get_allocated_width(), da.get_allocated_height());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.button == 3 && point_in_chart(chart, event.x, event.y)) {
|
if (event.button == 3) {
|
||||||
moving_chart = false;
|
moving_chart = false;
|
||||||
da.queue_draw_area(0, 0, da.get_allocated_width(), da.get_allocated_height());
|
da.queue_draw_area(0, 0, da.get_allocated_width(), da.get_allocated_height());
|
||||||
}
|
}
|
||||||
|
@ -406,16 +409,17 @@ int main (string[] args) {
|
||||||
return true; // return ret;
|
return true; // return ret;
|
||||||
});
|
});
|
||||||
da.motion_notify_event.connect((event) => {
|
da.motion_notify_event.connect((event) => {
|
||||||
|
if (!point_in_chart(chart, event.x, event.y)) return true;
|
||||||
|
|
||||||
//var ret = chart.motion_notify_event(event);
|
//var ret = chart.motion_notify_event(event);
|
||||||
|
|
||||||
if (draw_selection && point_in_chart(chart, event.x, event.y)) {
|
if (draw_selection) {
|
||||||
sel_x1 = event.x;
|
sel_x1 = event.x;
|
||||||
sel_y1 = event.y;
|
sel_y1 = event.y;
|
||||||
da.queue_draw_area(0, 0, da.get_allocated_width(), da.get_allocated_height());
|
da.queue_draw_area(0, 0, da.get_allocated_width(), da.get_allocated_height());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (moving_chart && point_in_chart(chart, event.x, event.y)) {
|
if (moving_chart) {
|
||||||
var delta_x = event.x - mov_x0, delta_y = event.y - mov_y0;
|
var delta_x = event.x - mov_x0, delta_y = event.y - mov_y0;
|
||||||
chart.move (delta_x, delta_y);
|
chart.move (delta_x, delta_y);
|
||||||
mov_x0 = event.x;
|
mov_x0 = event.x;
|
||||||
|
|
Loading…
Reference in New Issue