2015 ソフトウェア設計及び演習用の班Wiki
15::gr10::チャットウィンドウ(最終)
担当:平井諒
-
チャットウィンドウ
-
メッセージ表示部
- 自分が入力した文字, ルームメンバーが入力した文字を表示
- 名前 → メッセージと名前をセットで表示
- メッセージ入力部
- テキストボックス → ルームメンバーと会話したい内容を入力
- 送信ボタン → 文字がサーバーに送信され, ルームメンバーのメッセージ表示部に表示
- エンターキー → 文字がサーバーに送信され, ルームメンバーのメッセージ表示部に表示
- スクロールバー → ウインドウ内で収まりきらない会話内容を、必要に応じて表示領域を移動し て確認できる。
-
メッセージ表示部
chat.h
#ifndef CHAT_H #define CHAT_H #include <gtk/gtk.h> typedef struct chat_widgets_type{ GtkWidget *window; GtkWidget *hbox; GtkWidget *vbox; GtkWidget *button; GtkWidget *scrolled_window1; GtkWidget *scrolled_window2; GtkWidget *entry; GtkWidget *canvas; GIOChannel *my_channel; //GIOChannel *your_channel; gchar name[32]; } chat_widgets; #define HOST_NUM 10 struct message { gboolean is_msg; gchar name[32]; gchar hostname[16]; gchar next_hostname[16]; gchar text_msg[1024]; }; extern char messages[64][256]; extern int line; extern gchar next_hostname[32]; extern const gchar* my_name; extern int next_fd; extern gboolean is_host; int chat_main(void); #endif
cb_events.h
#ifndef CB_EVETNS #define CB_EVETNS #include <gtk/gtk.h> // enterを押した時に呼ばれる関数 void cb_entry (GtkEntry *entry, gpointer data); // buttonを押した時に呼ばれる関数 void cb_button (GtkButton *button, gpointer data); // 画面を再描画する必要があるときに呼ばれる関数 gboolean cb_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer data); #endif
最終更新日:2015/08/10 10:38:25