source: trunk/EDIT4/ed4_plugins.hxx

Last change on this file was 19407, checked in by westram, 15 months ago
  • reintegrates 'ali' into 'trunk'
    • use bond settings from EDIT4 in SECEDIT
    • fix refresh logic
    • refactor underlying code
  • adds: log:branches/ali@19393:19406
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.0 KB
Line 
1// ================================================================= //
2//                                                                   //
3//   File      : ed4_plugins.hxx                                     //
4//   Purpose   : interface for edit4 plugins                         //
5//                                                                   //
6//   Coded by Ralf Westram (coder@reallysoft.de) in September 2010   //
7//   Institute of Microbiology (Technical University Munich)         //
8//   http://www.arb-home.de/                                         //
9//                                                                   //
10// ================================================================= //
11
12#ifndef ED4_PLUGINS_HXX
13#define ED4_PLUGINS_HXX
14
15#ifndef AW_BASE_HXX
16#include <aw_base.hxx>
17#endif
18
19class AW_event;
20class AW_helix;
21
22struct ED4_plugin_host {
23    // interface provided for EDIT4 plugins (SECEDIT and RNA3D)
24
25    virtual ~ED4_plugin_host() {}
26
27    virtual AW_root *get_application_root() const = 0;
28    virtual GBDATA *get_database() const          = 0;
29
30    virtual bool SAIs_visualized() const                                = 0; // == true -> SECEDIT visualizes SAIs
31    virtual const char *get_SAI_background(int start, int end) const    = 0; // get SAI background color
32    virtual const char *get_search_background(int start, int end) const = 0; // get background color of search hits
33
34    virtual int get_base_position(int seq_position) const = 0; // transform seq-pos(gaps, [0..N]!) to base-pos(nogaps, [0..N]!)
35
36    virtual void forward_event(AW_event *event) const = 0; // all events not handled by SECEDIT are forwarded here
37
38    virtual void announce_current_species(const char *species_name) = 0;
39
40    virtual const AW_helix *get_helix() const = 0;
41};
42
43typedef AW_window *ED4_plugin(ED4_plugin_host&);
44
45#if defined(IN_ARB_EDIT4)
46void ED4_start_plugin(AW_window *aw, GBDATA *gb_main, const char *pluginname);
47#endif // IN_ARB_EDIT4
48
49#else
50#error ed4_plugins.hxx included twice
51#endif // ED4_PLUGINS_HXX
Note: See TracBrowser for help on using the repository browser.