NCBI C++ ToolKit
url_tooltip_handler.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 #ifndef GUI_WIDGETS_SEQ_GRAPHIC___URL_TOOLTIP_HANDLER__HPP
2 #define GUI_WIDGETS_SEQ_GRAPHIC___URL_TOOLTIP_HANDLER__HPP
3 
4 /* $Id: url_tooltip_handler.hpp 43343 2019-06-17 20:41:12Z evgeniev $
5 * ===========================================================================
6 *
7 * PUBLIC DOMAIN NOTICE
8 * National Center for Biotechnology Information
9 *
10 * This software/database is a "United States Government Work" under the
11 * terms of the United States Copyright Act. It was written as part of
12 * the author's official duties as a United States Government employee and
13 * thus cannot be copyrighted. This software/database is freely available
14 * to the public for use. The National Library of Medicine and the U.S.
15 * Government have not placed any restriction on its use or reproduction.
16 *
17 * Although all reasonable efforts have been taken to ensure the accuracy
18 * and reliability of the software and data, the NLM and the U.S.
19 * Government do not and cannot warrant the performance or results that
20 * may be obtained by using this software or data. The NLM and the U.S.
21 * Government disclaim all warranties, express or implied, including
22 * warranties of performance, merchantability or fitness for any particular
23 * purpose.
24 *
25 * Please cite the author in any work or product based on this material.
26 *
27 * ===========================================================================
28 *
29 * Author: Vladislav Evgeniev
30 *
31 * File Description: Defines a class to handle URL clicks in GBench
32 */
33 
34 #include <corelib/ncbistl.hpp>
35 
36 #include <gui/gui_export.h>
38 #include <objmgr/seq_vector.hpp>
39 
41 
43 
45 class CScope;
47 
49 public:
50  CURLTooltipHandler(objects::CScope &scope, CEventHandler &handler) : m_Scope(scope), m_Handler(handler) {}
51  bool ProcessURL(const string &href);
52 protected:
53  void x_ParseUnalignedRegionHref(const string &href);
54  void x_ParseGenomicLinkHref(const string &href);
55  void x_ReverseSequence(string& seq, bool is_protein, bool reverse, bool flipped_strands);
56  void x_DisplayUnalignedRegion(const std::string &seq_id, TSignedSeqPos from, TSignedSeqPos to, bool polyA, bool reverse, bool flipped_strands);
57  void x_DisplayForwardStrandRegion(const objects::CSeqVector &vec, TSignedSeqPos from, TSignedSeqPos to, CUnalignedRegionDlg &dlgUnalignedRegion, bool is_protein, bool reverse, bool flipped_strands);
58  void x_DisplayReverseStrandRegion(const objects::CSeqVector &vec, TSignedSeqPos from, TSignedSeqPos to, CUnalignedRegionDlg &dlgUnalignedRegion, bool is_protein, bool reverse, bool flipped_strands);
59  string x_ReformatUrlMarkerParam(const std::string &url_params);
60 private:
61  objects::CScope &m_Scope;
63 };
64 
66 
67 #endif // GUI_WIDGETS_SEQ_GRAPHIC___URL_TOOLTIP_HANDLER__HPP
static CRef< CScope > m_Scope
CEventHandler.
CScope –.
Definition: scope.hpp:92
CEventHandler & m_Handler
objects::CScope & m_Scope
CURLTooltipHandler(objects::CScope &scope, CEventHandler &handler)
void(*)(CSeq_entry_Handle seh, IWorkbench *wb, const CSerialObject &obj) handler
int TSignedSeqPos
Type for signed sequence position.
Definition: ncbimisc.hpp:887
string
Definition: cgiapp.hpp:687
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define END_SCOPE(ns)
End the previously defined scope.
Definition: ncbistl.hpp:75
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define BEGIN_SCOPE(ns)
Define a new scope.
Definition: ncbistl.hpp:72
#define NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
Definition: gui_export.h:536
Defines to provide correct exporting from DLLs in Windows.
The NCBI C++/STL use hints.
Modified on Mon Feb 26 04:00:49 2024 by modify_doxy.py rev. 669887