void SludgeApplication::setFileChanged() { if (!fileChanged) { if (currentShortname[0] == 0) { sprintf (currentShortname, "%s", getUntitledFilename()); } gtk_window_set_title (GTK_WINDOW(theWindow), joinTwoStrings("*", currentShortname)); fileChanged = TRUE; } }
SludgeZBufferMaker::SludgeZBufferMaker() : SludgeGLApplication(joinTwoStrings(DATADIR, "ZBufferMaker.glade"), "zIcon", "zbuffermaker") { if (!initSuccess) return; theSliderAdjustment = GTK_ADJUSTMENT (gtk_builder_get_object(theXml, "slider_adjustment")); theYAdjustment = GTK_ADJUSTMENT (gtk_builder_get_object(theXml, "y_adjustment")); theNumBuffersLabel = GTK_LABEL (gtk_builder_get_object(theXml, "num_buffers_label")); saveItem = GTK_WIDGET (gtk_builder_get_object(theXml, "save")); saveAsItem = GTK_WIDGET (gtk_builder_get_object(theXml, "save_as")); init(TRUE); setupButtons(); }
SludgeApplication::SludgeApplication(const char * gladeFileName, const char * iconName, const char * configFile) { configfile = configFile; GError *err = NULL; initSuccess = TRUE; char buf[1000]; GdkPixbuf *pixbuf16, *pixbuf32, *pixbuf128, *pixbuf256; GList *list = NULL; sprintf(buf, "%s%s_16x16x32.png", DATADIR, iconName); pixbuf16 = gdk_pixbuf_new_from_file (buf, &err); if (err == NULL) { sprintf(buf, "%s%s_32x32x32.png", DATADIR, iconName); pixbuf32 = gdk_pixbuf_new_from_file (buf, &err); } if (err == NULL) { sprintf(buf, "%s%s_128x128x32.png", DATADIR, iconName); pixbuf128 = gdk_pixbuf_new_from_file (buf, &err); } if (err == NULL) { sprintf(buf, "%s%s_256x256x32.png", DATADIR, iconName); pixbuf256 = gdk_pixbuf_new_from_file (buf, &err); } if (err != NULL) { fprintf (stderr, "Unable to open icon file: %s\n", err->message); g_error_free (err); } else { list = g_list_append (list, pixbuf16); list = g_list_append (list, pixbuf32); list = g_list_append (list, pixbuf128); list = g_list_append (list, pixbuf256); gtk_window_set_default_icon_list(list); } /* * Load the GTK interface. */ theXml = gtk_builder_new (); if (!gtk_builder_add_from_file (theXml, gladeFileName, NULL)) { g_critical ("Failed to load the GTK file.\n"); errorBox("Error!", joinTwoStrings("Failed to load resource file:\n", gladeFileName)); initSuccess = FALSE; return; } /* * Get the top-level window reference from loaded Glade file. */ theWindow = GTK_WIDGET (gtk_builder_get_object (theXml, "window1")); if (theWindow == NULL) { g_critical ("Failed to get the window from the builder.\n"); initSuccess = FALSE; return; } // Set unassigned widgets to get handled automatically by the window manager. gtk_container_set_reallocate_redraws (GTK_CONTAINER (theWindow), TRUE); char folderFile[300]; sprintf(folderFile, "%s/sludge-devkit/%s", g_get_user_config_dir(), configfile); FILE * fp = fopen (folderFile, "r"); if (fp) { char readChar = ' '; for (int i = 0; i < 300; i++) { readChar = fgetc(fp); if (readChar != '\n') { currentFolder[i] = readChar; } else { currentFolder[i] = 0; break; } } fclose (fp); } else { sprintf (currentFolder, "%s", g_get_home_dir()); } fileChanged = FALSE; currentFilename[0] = 0; currentShortname[0] = 0; }
SludgeProjectManager::SludgeProjectManager() : SludgeApplication(joinTwoStrings(DATADIR, "ProjectManager.glade"), "ProjIcon", "projectmanager") { if (!initSuccess) return; numResources = 0; resourceList[0] = NULL; fileList[0] = NULL; filesListStore = NULL; resourcesListStore = NULL; errorsListStore = NULL; filesSelection = NULL; notebook = GTK_NOTEBOOK (gtk_builder_get_object(theXml, "notebook")); saveItem = GTK_WIDGET (gtk_builder_get_object(theXml, "save")); saveAsItem = GTK_WIDGET (gtk_builder_get_object(theXml, "save_as")); projectPropertiesItem = GTK_WIDGET (gtk_builder_get_object(theXml, "project_properties")); projectCompileItem = GTK_WIDGET (gtk_builder_get_object(theXml, "project_compile")); projectRunGameItem = GTK_WIDGET (gtk_builder_get_object(theXml, "project_run_game")); addFileButton = GTK_WIDGET (gtk_builder_get_object(theXml, "add_file")); removeFileButton = GTK_WIDGET (gtk_builder_get_object(theXml, "remove_file")); compilerDialog = GTK_DIALOG (gtk_builder_get_object(theXml, "compiler_dialog")); compProgress1 = GTK_PROGRESS_BAR (gtk_builder_get_object(theXml, "progressbar1")); compProgress2 = GTK_PROGRESS_BAR (gtk_builder_get_object(theXml, "progressbar2")); compTask = GTK_LABEL (gtk_builder_get_object(theXml, "comp_task")); compFile = GTK_LABEL (gtk_builder_get_object(theXml, "comp_file")); compItem = GTK_LABEL (gtk_builder_get_object(theXml, "comp_item")); compFuncs = GTK_LABEL (gtk_builder_get_object(theXml, "comp_funcs")); compObjs = GTK_LABEL (gtk_builder_get_object(theXml, "comp_objs")); compGlobs = GTK_LABEL (gtk_builder_get_object(theXml, "comp_globs")); compStrings = GTK_LABEL (gtk_builder_get_object(theXml, "comp_strings")); compResources = GTK_LABEL (gtk_builder_get_object(theXml, "comp_resources")); runGameButton = GTK_WIDGET (gtk_builder_get_object(theXml, "comp_gamebutton")); closeCompilerButton = GTK_WIDGET (gtk_builder_get_object(theXml, "comp_okbutton")); projectSettingsDialog = GTK_DIALOG (gtk_builder_get_object(theXml, "project_settings_dialog")); prefName = GTK_ENTRY (gtk_builder_get_object(theXml, "pref_name")); prefQuit = GTK_ENTRY (gtk_builder_get_object(theXml, "pref_quit")); prefSave = GTK_ENTRY (gtk_builder_get_object(theXml, "pref_save")); prefLanguage = GTK_ENTRY (gtk_builder_get_object(theXml, "pref_language")); prefFilename = GTK_ENTRY (gtk_builder_get_object(theXml, "pref_filename")); prefIcon = GTK_ENTRY (gtk_builder_get_object(theXml, "pref_icon")); prefLogo = GTK_ENTRY (gtk_builder_get_object(theXml, "pref_logo")); prefWidth = GTK_SPIN_BUTTON (gtk_builder_get_object(theXml, "pref_width")); prefHeight = GTK_SPIN_BUTTON (gtk_builder_get_object(theXml, "pref_height")); prefSpeed = GTK_SPIN_BUTTON (gtk_builder_get_object(theXml, "pref_speed")); prefSilent = GTK_TOGGLE_BUTTON (gtk_builder_get_object(theXml, "pref_silent")); preferenceDialog = GTK_DIALOG (gtk_builder_get_object(theXml, "preferences_dialog")); prefKeepImages = GTK_TOGGLE_BUTTON (gtk_builder_get_object(theXml, "pref_keep_images")); prefWriteStrings = GTK_TOGGLE_BUTTON (gtk_builder_get_object(theXml, "pref_write_strings")); prefVerbose = GTK_TOGGLE_BUTTON (gtk_builder_get_object(theXml, "pref_verbose")); prefEditor = GTK_ENTRY (gtk_builder_get_object(theXml, "pref_editor")); prefImageViewer = GTK_ENTRY (gtk_builder_get_object(theXml, "pref_image_viewer")); prefAudioPlayer = GTK_ENTRY (gtk_builder_get_object(theXml, "pref_audio_player")); prefModPlayer = GTK_ENTRY (gtk_builder_get_object(theXml, "pref_mod_player")); compilerInfoQueue = NULL; if (!getcwd(workingDir, 998)) fprintf(stderr, "Couldn't get current working directory."); readIniFile(); init(TRUE); setupButtons(); }
SludgeFloorMaker::SludgeFloorMaker() : SludgeGLApplication(joinTwoStrings(DATADIR, "FloorMaker.glade"), "floorIcon", "floormaker") { if (!initSuccess) return; init(TRUE); }