Expose no-startmenu option to post-install and pre-remove scripts
[cygwin-setup.git] / threebar.h
blobc361eed8f9ff7275c4153eaa3456c801edf4420c
1 /*
2 * Copyright (c) 2001, Gary R. Van Sickle.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * A copy of the GNU General Public License can be found at
10 * http://www.gnu.org/
12 * Written by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
16 #ifndef SETUP_THREEBAR_H
17 #define SETUP_THREEBAR_H
19 // This is the header for the ThreeBarProgressPage class. It is a fairly generic
20 // progress indicator property page with three progress bars.
23 #include "win32.h"
24 #include "proppage.h"
26 #define WM_APP_START_DOWNLOAD WM_APP+0
27 #define WM_APP_DOWNLOAD_THREAD_COMPLETE WM_APP+1
28 #define WM_APP_START_INSTALL WM_APP+2
29 #define WM_APP_INSTALL_THREAD_COMPLETE WM_APP+3
30 #define WM_APP_START_SITE_INFO_DOWNLOAD WM_APP+4
31 #define WM_APP_SITE_INFO_DOWNLOAD_COMPLETE WM_APP+5
32 #define WM_APP_START_SETUP_INI_DOWNLOAD WM_APP+6
33 #define WM_APP_SETUP_INI_DOWNLOAD_COMPLETE WM_APP+7
34 // desktop.h: WM_APP_UNATTENDED_FINISH WM_APP+8
35 #define WM_APP_START_POSTINSTALL WM_APP+9
36 #define WM_APP_POSTINSTALL_THREAD_COMPLETE WM_APP+10
37 #define WM_APP_PREREQ_CHECK WM_APP+11
38 #define WM_APP_PREREQ_CHECK_THREAD_COMPLETE WM_APP+12
40 class ThreeBarProgressPage:public PropertyPage
42 HWND ins_action;
43 HWND ins_pkgname;
44 HWND ins_filename;
45 HWND ins_pprogress;
46 HWND ins_iprogress;
47 HWND ins_diskfull;
48 HWND ins_bl_package;
49 HWND ins_bl_total;
50 HWND ins_bl_disk;
52 int task;
54 void EnableSingleBar (bool enable = true);
56 public:
57 ThreeBarProgressPage ();
58 virtual ~ ThreeBarProgressPage ()
62 bool Create ();
64 virtual void OnInit ();
65 virtual void OnActivate ();
66 virtual bool OnMessageApp (UINT uMsg, WPARAM wParam, LPARAM lParam);
67 virtual long OnUnattended ()
69 return -1;
72 void SetText1 (const wchar_t * t);
73 void SetText2 (const wchar_t * t);
74 void SetText2 (const TCHAR * t);
75 void SetText3 (const TCHAR * t);
76 void SetText4 (const TCHAR * t);
78 void SetText1 (unsigned int id);
79 void SetText2 (unsigned int id);
80 void SetText3 (unsigned int id);
81 void SetText4 (unsigned int id);
83 void SetBar1 (long progress, long max = 100);
84 void SetBar2 (long long progress, long long max = 100);
85 void SetBar3 (long progress, long max = 100);
87 void SetActivateTask (int t)
89 task = t;
94 #endif /* SETUP_THREEBAR_H */