mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-10 04:57:00 -04:00
d2196eea09
Now all C++ files need to #include <util/prec.hpp>
That is why all .cpp files are touched by this commit
Many changes to installers and update checking:
- the window is now called PackagesWindow, in a new source file
- update checking is now independent from the PackagesWindow. For update checking only a list of package versions are needed (vector<PackageDependency>). This is much less information to download at each startup.
- the list of available packages is now a list of available Installers, since an installer can contain multiple packages.
- moved the logic of dependency checking etc. to data/installer
- moved the actual installation to util/io/package_manager
- moved directory iteration/creation logic to util/file_utils
- added PackageDirectory: the local and global package directory now have their own object (was part of PackageManager)
- added PackageVersion: for detecting if a package has been modified after it was installed.
- added PackageDescription: description/header of a package. Basicly the same as what Packaged provides.
- added DownloadableInstaller: where to find an insaller, what does it contain?
- added InstallablePackage: brining it all together: installer, package, status, action.
Current status: the insaller is currently broken in a few places, more on that soon.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@792 0fc631ac-6414-0410-93d0-97cfa31319b6
77 lines
2.6 KiB
C++
77 lines
2.6 KiB
C++
//+----------------------------------------------------------------------------+
|
|
//| Description: Magic Set Editor - Program to make Magic (tm) cards |
|
|
//| Copyright: (C) 2001 - 2007 Twan van Laarhoven |
|
|
//| License: GNU General Public License 2 or later (see file COPYING) |
|
|
//+----------------------------------------------------------------------------+
|
|
|
|
#ifndef HEADER_GUI_PACKAGES_WINDOW
|
|
#define HEADER_GUI_PACKAGES_WINDOW
|
|
|
|
// ----------------------------------------------------------------------------- : Includes
|
|
|
|
#include <util/prec.hpp>
|
|
#include <data/installer.hpp>
|
|
// #include <gui/welcome_window.hpp> //???
|
|
|
|
class PackageUpdateList;
|
|
class PackageInfoPanel;
|
|
//class wxHtmlWindow;
|
|
|
|
//DECLARE_POINTER_TYPE(PackageVersionData);
|
|
|
|
//DECLARE_POINTER_TYPE(PackageVersion);
|
|
//DECLARE_POINTER_TYPE(PackageDescription);
|
|
//DECLARE_POINTER_TYPE(InstallableInstaller);
|
|
DECLARE_POINTER_TYPE(InstallablePackage);
|
|
|
|
// ----------------------------------------------------------------------------- : Available Packages
|
|
|
|
|
|
// ----------------------------------------------------------------------------- : Packages window
|
|
|
|
/// A window that displays the installed packages and updates to them
|
|
class PackagesWindow : public wxDialog {
|
|
public:
|
|
PackagesWindow(Window* parent, bool download_package_list = true);
|
|
~PackagesWindow();
|
|
|
|
InstallablePackages installable_packages;
|
|
|
|
private:
|
|
PackageUpdateList* package_list; ///< List of available packages
|
|
PackageInfoPanel* package_info; ///< Description of the selected package
|
|
|
|
InstallablePackageP package; ///< Selected package
|
|
PackageAction where; ///< Where to install? (PACKAGE_LOCAL or PACKAGE_GLOBAL)
|
|
|
|
DECLARE_EVENT_TABLE();
|
|
|
|
void onOk(wxCommandEvent&);
|
|
void onActionChange(wxCommandEvent&);
|
|
void onPackageSelect(wxCommandEvent&);
|
|
void onUpdateUI(wxUpdateUIEvent&);
|
|
|
|
/*
|
|
wxHtmlWindow* description_window;
|
|
|
|
wxButton *install_button, *upgrade_button, *remove_button, *cancel_button, *apply_button;
|
|
|
|
void onUpdateCheckFinished(wxCommandEvent&);
|
|
void onPackageSelect(wxCommandEvent&);
|
|
void onActionChange(wxCommandEvent&);
|
|
void onApplyChanges(wxCommandEvent&);
|
|
|
|
void SelectPackageDependencies (PackageVersionDataP);
|
|
void RemovePackageDependencies (PackageVersionDataP);
|
|
void DowngradePackageDependencies(PackageVersionDataP);
|
|
|
|
/// Update the buttons to indicate that this is selected.
|
|
void updateButtons(const PackageVersionDataP& pack);
|
|
|
|
void setDefaultPackageStatus();
|
|
*/
|
|
};
|
|
|
|
// ----------------------------------------------------------------------------- : EOF
|
|
#endif
|