コード例 #1
0
ファイル: Form1.cs プロジェクト: res0/komplexne-siete
        /// <summary>
        /// Click event for Generate Barabasi-Albert button.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void barabasiAlbertGrafToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormBASetup fba = new FormBASetup();

            //Opens a dialog to set NP graph parameters. When the DialogResult is OK, then it starts a new thread for generating the graph.
            if (fba.ShowDialog() == DialogResult.OK)
            {
                ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem(new string[] {
                    "Graf Barabási-Albert (n=" + fba.n.ToString() + ", m=" + fba.m.ToString() + ")",
                    "",
                    "Generuje sa..."
                }, -1);

                listView1.Items.Add(listViewItem1);

                ba_TestObject data = new ba_TestObject();
                data.n     = fba.n;
                data.m     = fba.m;
                data.index = listView1.Items.Count - 1;
                BackgroundWorker t = new BackgroundWorker();
                t.DoWork             += ba_DoWork;
                t.RunWorkerCompleted += ba_RunWorkerCompleted;
                t.RunWorkerAsync(data);
            }
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: res0/komplexne-siete
        /// <summary>
        /// The Thread for generating BA graph.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ba_DoWork(object sender, DoWorkEventArgs e)
        {
            ba_TestObject data = e.Argument as ba_TestObject;

            data.start = DateTime.Now;

            GraphBarabasiAlbert graf = new GraphBarabasiAlbert();

            graf.Generate(data.n, data.m);

            data.graf = graf;
            e.Result  = data;
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: res0/komplexne-siete
        /// <summary>
        /// This event is called when the BackgroundWorker component(Thread) process is completed.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ba_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            ba_TestObject data = e.Result as ba_TestObject;

            DateTime date = DateTime.Now;

            TimeSpan timeDiff = date - data.start;

            listView1.Items[data.index].SubItems[2].Text = "Hotovo.";
            listView1.Items[data.index].SubItems[1].Text = date.ToString("dd. MM. yyyy hh:mm:ss") + " (" + timeDiff.TotalSeconds.ToString("0.00") + "s)";

            GraphItem item = new GraphItem();

            item.graph = (Graph)data.graf;
            item.type  = GraphItem.BA;

            graphs.Add(data.index, item);
        }