I have to admit to having some major confusion on this issue. All the
documentation I've been able to find is completely conflicting.

I have a slight twist I'd like to put on this question.

Just for fun/learning I am writing a little Gaim-like IM client in GTK#

I'll post a abbreviated version of what I'd like to do and see if
someone can point me to a good reference doc at least ;)

I know it has to do with invoke/delegates, but not sure how to get it
to run from another class

Any help/pointers/references are appreciated. Thx!

//------------------------------------------------
//main.cs
using System;
using Gtk;
using GtkSharp;
using System.Threading;
namespace chat
{
        class MainClass
        {
                private static Window win = null;
                private static Gtk.Entry output;
                private static Gtk.Entry input;
                private static Gtk.Button go_button;

                private static irc_thread irc;

                public static void Main (string[] args)
                        {
                                  Application.Init ();
                                  win = new Window ("Chat");
                     VBox main_vBox1 = new VBox (false, 3);

                     incoming = new Gtk.Entry(); // show text coming from irc
                     main_vBox.PackStart(incoming, true, true, 0);

                     output = new Gtk.Entry(); // text to be sent to IRC
                     output.Activated += new EventHandler(go_button_click);
                     main_vBox1.PackStart(output, true,true,1);

                     go_button = new Gtk.Button("Go");
                     go_button.Clicked += new EventHandler(go_button_click);
                     main_vBox1.PackStart(go_button, true,true,2);

                     irc_thread irc = new irc_thread();
                                          Thread t = new Thread (irc.go);//the 
goal is to actually be
able to spawn more than one thread...but for simplicity sake
                                         //missing something here?
                                  t.Start();
                                  win.Add (main_vBox1);
                                          win.ShowAll ();
                                          Application.Run ();
                                }
                                
                                public static void go_button_click(object 
sender, EventArgs args)
                                {
                                        // post output.Text to irc.message;
                                }
                                public static void update_incoming_entry(string 
text_from_irc)
                                {
                                        // how do I retrieve a value from my 
irc_thread class?
                                        incoming.Text = text_from_irc;
                                }
                }//class MainClass
        }//namespace chat
        // end main.cs
//------------------------------------------------
        //irc_thread.cs
        using System;
        using System.Threading;
        using irclib;
        
        namespace chat
        {
                class irc_thread
                {
                        public void go()
        {
                // this will contain the various socket functions and it's
own thread/loop ( smartirc4net )
        }
        
        public ON_got_msg_from_irc
        {
                // how do I send a string to the main thread?
        }
        
        public static void message()
        {
                // how do I get something from the main thread (output.Text)?
        
        }
       } // class irc_thread
  } //namespace chat
  //end irc_thread.cs
  //------------------------------------------------
_______________________________________________
Gtk-sharp-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list

Reply via email to