/* * MathPlanner 3.1 - Mathematical design tool. * Copyright(C) 2002 Jarmo Nikkanen * * 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. * * You should have received a copy of the GNU General Public License with this program. * */ #ifndef _MATHPLANNER_STRUCTURE_H #define _MATHPLANNER_STRUCTURE_H #include #include #include class m_base_object; // Structures used in many places struct key_code { QString unicode; // Unicode int code; // RAW code int modifiers; int ascii; bool non; // not available for integer bool number; // number key bool spec; // edit or special key bool oper; // operator key + - * / bool spec_num; // special number key - ,. e E bool integer; int insert_mode; // left side key input bool edit; }; struct str_range { int start; int end; }; struct list_entry { class m_base_object *Object; bool Delete; int Type; int MainType; }; // If Not Used... Index must be -1 and Object NULL struct index_obj { int Index; // list_entry no int Type; int MainType; class m_base_object *Object; // NULL for InString operators bool Neg; // Not used anymore char Priority; char Sub; }; class layout_rect { public: int width; int ascent,descent; int x,y; QPoint Position(); QRect Rect(); void SetPosition(QPoint); }; #endif