NCBI C++ ToolKit
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
CLayoutTrackHandler Class Reference

Search Toolkit Book for CLayoutTrackHandler

CLayoutTrackHandler - is the handler for handling the user interactions on layout tracks. More...

#include <gui/widgets/seq_graphic/layout_track_handler.hpp>

+ Inheritance diagram for CLayoutTrackHandler:
+ Collaboration diagram for CLayoutTrackHandler:

Public Types

enum  EState { eReadyToMove , eMove , eIdle }
 
typedef EState TState
 

Public Member Functions

 CLayoutTrackHandler ()
 
void SetHost (ITrackHandlerHost *host)
 CLayoutTrackHandler inline methods. More...
 
IGenericHandlerHostGetGenericHost ()
 
void Render (CGlPane &pane)
 
void OnKeyEvent (wxKeyEvent &event)
 
void OnOtherMouseEvents (wxMouseEvent &event)
 
void OnLeftDown (wxMouseEvent &event)
 
void OnLeftUp (wxMouseEvent &event)
 
void OnLeftDblClick (wxMouseEvent &event)
 
void OnMotion (wxMouseEvent &event)
 
void OnMouseCaptureLost (wxMouseCaptureLostEvent &event)
 
void SetDraggable (bool draggable)
 
IGlEventHandler implementaion
virtual void SetPane (CGlPane *pane)
 
virtual wxEvtHandler * GetEvtHandler ()
 
- Public Member Functions inherited from IGlEventHandler
virtual ~IGlEventHandler ()
 

Private Member Functions

void x_StartMoving ()
 
void x_StopMoving ()
 
void x_Move (const TModelPoint &pos)
 
void x_MoveTrackUpRecursive (TModelUnit delta_y, TModelUnit &top)
 
void x_MoveTrackDownRecursive (TModelUnit delta_y, TModelUnit &top)
 

Private Attributes

TModelPoint m_PreMousePos
 
TModelPoint m_StartPos
 
CRef< CLayoutTrackm_LastHitTrack
 
CRef< CLayoutTrackm_Delegate
 
IDroppablem_DropTarget
 
ITrackHandlerHostm_Host
 
CGlPanem_Pane
 
TState m_State
 
bool m_Draggable = true
 

Detailed Description

CLayoutTrackHandler - is the handler for handling the user interactions on layout tracks.

The interactions include repositioning a track, collapsing a track, expanding a track , closing a track and other events resulting from clicking on an icon or button.

TODO: The declaration is not completed.

Definition at line 69 of file layout_track_handler.hpp.

Member Typedef Documentation

◆ TState

Definition at line 81 of file layout_track_handler.hpp.

Member Enumeration Documentation

◆ EState

Enumerator
eReadyToMove 
eMove 
eIdle 

Definition at line 75 of file layout_track_handler.hpp.

Constructor & Destructor Documentation

◆ CLayoutTrackHandler()

CLayoutTrackHandler::CLayoutTrackHandler ( )
inline

Definition at line 83 of file layout_track_handler.hpp.

Member Function Documentation

◆ GetEvtHandler()

wxEvtHandler * CLayoutTrackHandler::GetEvtHandler ( )
inlinevirtual

Implements IGlEventHandler.

Definition at line 141 of file layout_track_handler.hpp.

◆ GetGenericHost()

IGenericHandlerHost * CLayoutTrackHandler::GetGenericHost ( )
inline

◆ OnKeyEvent()

void CLayoutTrackHandler::OnKeyEvent ( wxKeyEvent &  event)

◆ OnLeftDblClick()

void CLayoutTrackHandler::OnLeftDblClick ( wxMouseEvent &  event)

◆ OnLeftDown()

void CLayoutTrackHandler::OnLeftDown ( wxMouseEvent &  event)

◆ OnLeftUp()

void CLayoutTrackHandler::OnLeftUp ( wxMouseEvent &  event)

◆ OnMotion()

void CLayoutTrackHandler::OnMotion ( wxMouseEvent &  event)

◆ OnMouseCaptureLost()

void CLayoutTrackHandler::OnMouseCaptureLost ( wxMouseCaptureLostEvent &  event)

Definition at line 244 of file layout_track_handler.cpp.

References eMove, m_LastHitTrack, m_State, and x_StopMoving().

◆ OnOtherMouseEvents()

void CLayoutTrackHandler::OnOtherMouseEvents ( wxMouseEvent &  event)

◆ Render()

void CLayoutTrackHandler::Render ( CGlPane pane)

◆ SetDraggable()

void CLayoutTrackHandler::SetDraggable ( bool  draggable)
inline

Definition at line 149 of file layout_track_handler.hpp.

References m_Draggable.

◆ SetHost()

void CLayoutTrackHandler::SetHost ( ITrackHandlerHost host)
inline

◆ SetPane()

void CLayoutTrackHandler::SetPane ( CGlPane pane)
inlinevirtual

◆ x_Move()

void CLayoutTrackHandler::x_Move ( const TModelPoint pos)
private

◆ x_MoveTrackDownRecursive()

void CLayoutTrackHandler::x_MoveTrackDownRecursive ( TModelUnit  delta_y,
TModelUnit top 
)
private

◆ x_MoveTrackUpRecursive()

void CLayoutTrackHandler::x_MoveTrackUpRecursive ( TModelUnit  delta_y,
TModelUnit top 
)
private

◆ x_StartMoving()

void CLayoutTrackHandler::x_StartMoving ( )
private

◆ x_StopMoving()

void CLayoutTrackHandler::x_StopMoving ( )
private

Member Data Documentation

◆ m_Delegate

CRef<CLayoutTrack> CLayoutTrackHandler::m_Delegate
private

◆ m_Draggable

bool CLayoutTrackHandler::m_Draggable = true
private

Definition at line 126 of file layout_track_handler.hpp.

Referenced by OnLeftDown(), and SetDraggable().

◆ m_DropTarget

IDroppable* CLayoutTrackHandler::m_DropTarget
private

◆ m_Host

ITrackHandlerHost* CLayoutTrackHandler::m_Host
private

◆ m_LastHitTrack

CRef<CLayoutTrack> CLayoutTrackHandler::m_LastHitTrack
private

◆ m_Pane

CGlPane* CLayoutTrackHandler::m_Pane
private

Definition at line 124 of file layout_track_handler.hpp.

Referenced by SetPane().

◆ m_PreMousePos

TModelPoint CLayoutTrackHandler::m_PreMousePos
private

Definition at line 118 of file layout_track_handler.hpp.

Referenced by OnLeftDblClick(), OnLeftDown(), x_Move(), and x_StartMoving().

◆ m_StartPos

TModelPoint CLayoutTrackHandler::m_StartPos
private

Definition at line 119 of file layout_track_handler.hpp.

Referenced by x_StartMoving().

◆ m_State

TState CLayoutTrackHandler::m_State
private

The documentation for this class was generated from the following files:
Modified on Thu Jul 18 16:04:03 2024 by modify_doxy.py rev. 669887