/*  This file is part of lscomp.

    lscomp 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 3 of the License, or
    (at your option) any later version.

    lscomp 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 lsnet.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef __GTK_STRUCTS_H__
#define __GTK_STRUCTS_H__ 1

#include <gtk/gtk.h>
#include <cairo/cairo.h>


struct MainWindow{
	GtkWidget *window;
	GdkWindow *gdkwindow;
};

struct NoteBook{
	GtkWidget *book;
	GtkWidget *page1;
	GtkWidget *page2;
	GtkWidget *page_label1;
	GtkWidget *page_label2;
};

struct CairoPicBox{
	GtkWidget *pane;
	GtkWidget *drawing_area;
	GtkWidget *picture;
};

struct PortTab{
	GtkWidget *pane;
	GtkWidget *scrolledwin;
	GtkWidget *main_table;
//	GtkWidget *entries_1[13];
//	GtkWidget *entries_2[13];
	GtkWidget *pos_frame;
	GtkWidget *pos_table;

	GtkWidget **pos_labels;
	//GtkWidget *pos_lab2;
	//GtkWidget *pos_lab3;

	GtkWidget *out_table;
	GtkWidget *out_frame;
	GtkWidget ***pos_entries;
	GtkWidget ***entries;
	
	PangoFontDescription *font_desc;
	guint port_rows;
	guint port_cols;
	guint last_rows;
	guint last_cols;
	guint font_size;
	gint use_R;
};

struct ToolTab{
	GtkWidget *pane;
	GtkWidget *scrolledwin;
	GtkWidget *hadjustment;
	GtkWidget *vadjustment;
	GtkWidget *main_table;
	GtkWidget *comp_table;
	GtkWidget *comp_s_table;
	GtkWidget *recoup_table;
	GtkWidget *comp_frame;
	GtkWidget *comp_s_frame;
	GtkWidget *recoup_frame;

	GtkWidget *comp_entries[4];
	GtkWidget *comp_labels[4];
	GtkWidget *comp_button;
	GtkWidget *comp_s_entries[3];
	GtkWidget *comp_s_labels[3];
	GtkWidget *comp_s_button;
	GtkWidget *recoup_entries[2];
	GtkWidget *recoup_labels[2];
	GtkWidget *recoup_button;
	//GtkWidget *entries;
};

struct ButtonTable{
	GtkWidget *table;

	GtkWidget *label1;
	GtkWidget *button1;

	GtkWidget *label2;
	GtkWidget *button2;

	GtkWidget *label3;
	GtkWidget *button3;

	GtkObject *spin_adj1;
	GtkObject *spin_adj2;
	GtkObject *spin_adj3;
	GtkWidget *button4;
	GtkWidget *file_load;
	GtkWidget *file_close;
	GtkWidget *button5;
	GtkWidget *button6;
};

extern struct PortTab Port_win;
extern struct ButtonTable Port_bt;


#endif
