// ------------------------------------------------------------------ // GoldED+ // Copyright (C) 1990-1999 Odinn Sorensen // Copyright (C) 1999-2000 Alexander S. Aganichev // ------------------------------------------------------------------ // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License as // published by the Free Software Foundation; either version 2 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, // MA 02111-1307 USA // ------------------------------------------------------------------ // $Id$ // ------------------------------------------------------------------ // Message viewer classes. // ------------------------------------------------------------------ #include // ------------------------------------------------------------------ class GMsgHeaderView { int alive; protected: public: Area *area; GMsg *msg; gwindow window; GMsgHeaderView(); ~GMsgHeaderView(); // Window setup int at_row; int at_column; int width; int height; int border_type; vattr border_color; vattr window_color; vattr title_color; vattr highlight_color; vattr from_color; vattr to_color; vattr subject_color; vattr location_color; void Use(Area *areaptr, GMsg *msgptr); void Create(); void Destroy(); void Paint(); }; // ------------------------------------------------------------------ class GMsgBodyView : public Container { int alive; protected: // View data int visible_width; int scrollbar_visible; Line dummy_line; int can_pagedown; int upperline; int lowerline; void PaintLine(int row, Line *line); void UpdateScrollbar(); void prints(int wrow, int wcol, vattr atr, const char* str); void printns(int wrow, int wcol, vattr atr, const char* str, uint len); public: Area *area; GMsg *msg; gwindow window; GMsgBodyView(); ~GMsgBodyView(); // Window setup int at_row; int at_column; int width; int height; int border_type; vattr border_color; vattr window_color; vattr scrollbar_color; vattr highlight_color; void Use(Area *areaptr, GMsg *msgptr, int startline=0); int UpperLine() { return upperline; } void Create(); void Destroy(); void Paint(); int Top(int redraw=false); int Bottom(); int PageUp(); int PageDown(); int LineUp(); int LineDown(); int Continue(); int ThumbTrack(int pos); int ThumbPosition(int pos); }; // ------------------------------------------------------------------