Skip to content

Commit 9494465

Browse files
author
Gin
committed
writing control points for SAM
1 parent d70725b commit 9494465

File tree

2 files changed

+45
-2
lines changed

2 files changed

+45
-2
lines changed

SerialPrograms/Source/ML/Programs/ML_LabelImages.cpp

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -783,10 +783,47 @@ void LabelImages_Widget::post_startup(VideoSource* source){
783783
m_program.load_image_related_data(image_path, cur_res.width, cur_res.height);
784784
}
785785

786+
void LabelImages_Widget::key_press(QKeyEvent* event){
787+
const auto key = Qt::Key(event->key());
788+
switch(key){
789+
case Qt::Key::Key_Shift:
790+
m_shift_pressed = true;
791+
break;
792+
case Qt::Key::Key_Control:
793+
#ifndef __APPLE__
794+
m_control_pressed = true;
795+
#endif
796+
break;
797+
case Qt::Key::Key_Meta:
798+
#if defined(__APPLE__)
799+
m_control_pressed = true;
800+
#endif
801+
break;
802+
default:
803+
}
804+
}
805+
786806
void LabelImages_Widget::key_release(QKeyEvent* event){
787807
const auto key = Qt::Key(event->key());
788-
if (key == Qt::Key::Key_Delete || key == Qt::Key::Key_Backspace){
808+
switch(key){
809+
case Qt::Key::Key_Shift:
810+
m_shift_pressed = false;
811+
break;
812+
case Qt::Key::Key_Control:
813+
#ifndef __APPLE__
814+
m_control_pressed = false;
815+
#endif
816+
break;
817+
case Qt::Key::Key_Meta:
818+
#if defined(__APPLE__)
819+
m_control_pressed = false;
820+
#endif
821+
break;
822+
case Qt::Key::Key_Delete:
823+
case Qt::Key::Key_Backspace:
789824
m_program.delete_selected_annotation();
825+
break;
826+
default:
790827
}
791828
}
792829

@@ -816,6 +853,9 @@ void LabelImages_Widget::on_mouse_release(double x, double y){
816853
// user may have very small movement while doing quick clicking. To register this as a simple click, use relative
817854
// screen distance threshold 0.0015 and click duration threshold 0.15 second:
818855
if ((rel_x == 0 && rel_y == 0) || (rel_x < 0.0015 && rel_y < 0.0015 && duration < std::chrono::milliseconds(150))){
856+
if (m_shift_pressed){
857+
cout << "shift pressed while at " << x << " " << y << endl;
858+
}
819859
// process mouse clicking
820860
// change currently selected annotation
821861
// also change the option values in the UI

SerialPrograms/Source/ML/Programs/ML_LabelImages.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ class LabelImages_Widget : public PanelWidget,
190190
virtual void post_startup(VideoSource* source) override;
191191

192192
// Overwrites CommandReceiver::key_press().
193-
virtual void key_press(QKeyEvent* event) override {}
193+
virtual void key_press(QKeyEvent* event) override;
194194
// Overwrites CommandReceiver::key_release().
195195
virtual void key_release(QKeyEvent* event) override;
196196
// Overwrites CommandReceiver::focus_in().
@@ -221,6 +221,9 @@ class LabelImages_Widget : public PanelWidget,
221221
std::optional<std::pair<double, double>> m_mouse_start;
222222
std::optional<std::pair<double, double>> m_mouse_end;
223223
std::chrono::time_point<std::chrono::high_resolution_clock> m_mouse_start_time;
224+
225+
bool m_shift_pressed = false;
226+
bool m_control_pressed = false;
224227
};
225228

226229

0 commit comments

Comments
 (0)