source: tags/arb_5.1/EDIT4/ed4_block.hxx

Last change on this file was 5675, checked in by westram, 15 years ago
  • removed automatic timestamps (the best they were good for, were vc-conflicts)
  • 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_block.hxx                                     //
4//   Purpose   : Block operations                                  //
5//                                                                 //
6//   Coded by Ralf Westram (coder@reallysoft.de)                   //
7//   Institute of Microbiology (Technical University Munich)       //
8//   http://www.arb-home.de/                                       //
9//                                                                 //
10// =============================================================== //
11
12#ifndef ED4_BLOCK_HXX
13#define ED4_BLOCK_HXX
14
15typedef enum {
16    ED4_BT_NOBLOCK,             // nothing is marked
17    ED4_BT_LINEBLOCK,           // all species with EDIT4-marks are marked
18    ED4_BT_COLUMNBLOCK,         // range is marked
19    ED4_BT_MODIFIED_COLUMNBLOCK // was columnblock, but single species were removed/added
20} ED4_blocktype;
21
22typedef enum {
23    ED4_BO_UPPER_CASE,
24    ED4_BO_LOWER_CASE,
25    ED4_BO_REVERSE,
26    ED4_BO_COMPLEMENT,
27    ED4_BO_REVERSE_COMPLEMENT,
28    ED4_BO_UNALIGN,
29    ED4_BO_UNALIGN_RIGHT,
30    ED4_BO_SHIFT_LEFT,
31    ED4_BO_SHIFT_RIGHT
32} ED4_blockoperation_type;
33
34ED4_blocktype ED4_getBlocktype();
35void          ED4_setBlocktype(ED4_blocktype bt);
36void          ED4_toggle_block_type();
37void          ED4_correctBlocktypeAfterSelection();
38void          ED4_setColumnblockCorner(AW_event *event, ED4_sequence_terminal *seq_term);
39int           ED4_get_selected_range(ED4_terminal *term, int *first_column, int *last_column);
40
41typedef char *(*ED4_blockoperation)(const char *sequence_data, int len, int repeat, int *new_len, GB_ERROR *error);
42
43void ED4_with_whole_block(ED4_blockoperation block_operation, int repeat);
44void ED4_perform_block_operation(ED4_blockoperation_type type);
45
46AW_window *ED4_create_replace_window(AW_root *root);
47
48#else
49#error ed4_block.hxx included twice
50#endif // ED4_BLOCK_HXX
Note: See TracBrowser for help on using the repository browser.