int target_language();
void set_segment(TextSegment::pointer segment);
- void save_sentence(int segment_id, int index,
- Text::pointer target_sentence, QJsonArray link);
+ void save_sentence(int segment_id, int index);
signals:
void editModeChanged(bool mode_);
public:
explicit EditorPanel(QWidget *parent);
- void set_editor(Editor *editor);
- Text::pointer sentence();
- virtual void set_sentence(Text::pointer sentence);
+ Editor* parent_editor();
+ void set_parent_editor(Editor *editor);
+
+ virtual Text::pointer sentence() = 0;
+ virtual void ensure_sentence();
bool is_empty() const;
QColor color(int index) const;
-protected:
- Editor *m_editor;
- Text::pointer m_sentence;
+private:
+ Editor *m_parent_editor;
};
class SourcePanel : public EditorPanel
int index() const;
void set_index(int index);
+ Text::pointer sentence();
+ Text::pointer source_sentence();
+ Text::pointer target_sentence();
+ void set_target_sentence(Text::pointer sentence);
+
+ TextSentence::pointer text_sentence();
+ void set_text_sentence(TextSentence::pointer text_sentence);
+
TargetPanel* target_panel();
void set_target_panel(TargetPanel *target);
void inputMethodEvent(QInputMethodEvent *ev);
void keyPressEvent(QKeyEvent *ev);
- //void do_enter();
void do_click(QPoint const &pos);
void do_click_in_link_mode(QPoint const &pos);
- void do_focusin();
- void do_focusout();
-
private:
- int m_index;
+ int m_index; /*!< Editor上での位置を示す索引 */
TargetPanel *m_target_panel;
- WordLinker m_linker;
+ TextSentence::pointer m_text_sentence;
};
class TargetPanel: public EditorPanel
SourcePanel* source_panel();
void set_source_panel(SourcePanel *source);
- void set_sentence(Text::pointer sentence);
+ Text::pointer sentence();
+ void save_sentence();
+ void ensure_sentence();
bool is_text_saved() const;
void set_text_saved(bool saved);
void inputMethodEvent(QInputMethodEvent *ev);
void keyPressEvent(QKeyEvent *ev);
- //void do_enter();
void do_click(QPoint const &pos);
void do_click_in_link_mode(QPoint const &pos);
- void do_focusin();
- void do_focusout();
-
void do_key_press_in_link_mode(QKeyEvent *ev);
private:
bool can_link_mode() const;
EditorWidget* parent_editor_widget();
+private:
TargetPanel* current_target_panel();
TargetPanel const* current_target_panel() const;
void do_link_mode_leave(SourcePanel *panel);
private:
+ void divide_target_sentence(SourcePanel *source_panel);
+
+private:
Settings *m_settings;
Service *m_service;