Refactoring again

IC-7410 Rig Control Program (C++ version)_038

I am not sure what is the best way to organize the program.

int main(int argc, char *argv[]) {

	vector <Sound*> soundlist;
	soundlist.push_back( new SoundIC7410{argv[1]} );
	soundlist.push_back( new SoundSoft66{argv[2]} );

	vector <Rig*> riglist;
	riglist.push_back  ( new RigIC7410  {argv[3]} );
//	riglist.push_back  ( new RigSoft66  {argv[3]} ); /* dummy */

	argc = 1;			/* just for the next line */
	Glib::RefPtr < Gtk::Application > app = Gtk::Application::create(argc, argv, "org.gtkmm.example");
	MyWindow win(soundlist, riglist);
	return app->run(win);
}
MyWindow::MyWindow(vector <Sound*> &slist, vector <Rig*> &rlist) {

	set_title("IC-7410 Rig Control Program (C++ version)");
	set_size_request(1800, 900);
	myscrolledwindow.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_ALWAYS);
	get_content_area()->pack_start(myscrolledwindow);

	for(auto r : rlist) {
		myvbox.pack_start( *(new MyDrawingArea2{r}), FALSE, FALSE, 0);
	}

	for(auto s : slist) {
		myvbox.pack_start( *(new MyDrawingArea {s}), FALSE, FALSE, 0);
	}

	myscrolledwindow.add(myvbox);
	add(myscrolledwindow);
	show_all();
}

Leave a Reply

Your email address will not be published. Required fields are marked *