ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/proj/RenegadeMapSelector/MapSelector.cpp
(Generate patch)

Comparing trunk/RenegadeMapSelector/MapSelector.cpp (file contents):
Revision 88 by douglas, 2003-03-15T20:18:13-08:00 vs.
Revision 91 by douglas, 2003-03-15T22:17:50-08:00

# Line 189 | Line 189 | void MapSelector::setupAvailable()
189  
190   void MapSelector::setupSelected()
191   {
192 <        //
192 >        GtkListStore* store = gtk_list_store_new(1, G_TYPE_STRING);
193 >
194 >        vector<string> maps = config->getMaps();
195 >
196 >        GtkTreeIter itor;
197 >        for (unsigned index = 0; index < maps.size(); index++)
198 >        {
199 >                gtk_list_store_append(store, &itor);
200 >                gtk_list_store_set(store, &itor, 0, maps[index].c_str(), -1);
201 >        }
202 >
203 >        gtk_tree_view_set_model(GTK_TREE_VIEW(selected), GTK_TREE_MODEL(store));
204 >
205 >        GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
206 >        GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes(NULL,
207 >                renderer, "text", 0, NULL);
208 >
209 >        gtk_tree_view_append_column(GTK_TREE_VIEW(selected), column);
210   }
211  
212   void destruct(GtkWidget* widget, MapSelector* data)
# Line 199 | Line 216 | void destruct(GtkWidget* widget, MapSele
216  
217   void done(GtkWidget* widget, MapSelector* data)
218   {
219 <        if (true)
219 >        GtkTreeModel* store = gtk_tree_view_get_model(GTK_TREE_VIEW(data->selected)
220 >                );
221 >        
222 >        GtkTreeIter itor;
223 >        if (!gtk_tree_model_get_iter_first(store, &itor))
224          {
225                  message(GTK_WINDOW(data->window), "You need at least one map.",
226 <                        "No Maps", GTK_MESSAGE_WARNING);
226 >                        "No Maps", GTK_MESSAGE_INFORMATION);
227          }
228          else
229          {
230 <                //
230 >                vector<string> maps;
231 >
232 >                do
233 >                {
234 >                        char* name;
235 >
236 >                        gtk_tree_model_get(store, &itor, 0, &name, -1);
237 >                        maps.push_back(name);
238 >
239 >                        g_free(name);
240 >                }
241 >                while (gtk_tree_model_iter_next(store, &itor));
242  
243 +                config->setMaps(maps);
244 +                
245                  config->save();
246  
247                  gtk_main_quit();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines