mirror of
https://github.com/simtactics/mysimulation.git
synced 2025-07-06 22:50:30 -04:00
Somewhat of a start
This commit is contained in:
commit
8a16e52bf6
66 changed files with 1872 additions and 0 deletions
118
Tools/FARDive/windows/Dialog/NewArchive.cpp
Normal file
118
Tools/FARDive/windows/Dialog/NewArchive.cpp
Normal file
|
@ -0,0 +1,118 @@
|
|||
#include "../Windows.hpp"
|
||||
#include "../GUI.hpp"
|
||||
|
||||
#ifndef TTI_INFO_LARGE
|
||||
#define TTI_INFO_LARGE 4
|
||||
#endif
|
||||
|
||||
namespace NewArchive {
|
||||
|
||||
enum {TYPE_FAR, TYPE_DBPF};
|
||||
void SetType(HWND hDlg, int type){
|
||||
for(int i=IDC_NA_FARVERSIONTEXT; i<=IDC_NA_FARVERSION; i++)
|
||||
EnableWindow(GetDlgItem(hDlg, i), type==TYPE_FAR);
|
||||
for(int i=IDC_NA_DBPFVERSIONTEXT; i<=IDC_NA_DBPFCOMPRESS; i++)
|
||||
EnableWindow(GetDlgItem(hDlg, i), type==TYPE_DBPF);
|
||||
}
|
||||
|
||||
INT_PTR CALLBACK DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){
|
||||
switch (message){
|
||||
case WM_INITDIALOG: {
|
||||
CenterDialog(hDlg);
|
||||
|
||||
//Fill the drop-down boxes
|
||||
HWND hBox = GetDlgItem(hDlg, IDC_NA_TYPE);
|
||||
SendMessage(hBox, CB_INSERTSTRING, -1, (LPARAM) L"FAR");
|
||||
SendMessage(hBox, CB_INSERTSTRING, -1, (LPARAM) L"DBPF");
|
||||
SendMessage(hBox, CB_SETCURSEL, 0, 0);
|
||||
hBox = GetDlgItem(hDlg, IDC_NA_FARVERSION);
|
||||
SendMessage(hBox, CB_INSERTSTRING, -1, (LPARAM) L"1a");
|
||||
SendMessage(hBox, CB_INSERTSTRING, -1, (LPARAM) L"1b");
|
||||
SendMessage(hBox, CB_INSERTSTRING, -1, (LPARAM) L"3");
|
||||
SendMessage(hBox, CB_SETCURSEL, 0, 0);
|
||||
hBox = GetDlgItem(hDlg, IDC_NA_DBPFVERSION);
|
||||
SendMessage(hBox, CB_INSERTSTRING, -1, (LPARAM) L"1.0");
|
||||
SendMessage(hBox, CB_INSERTSTRING, -1, (LPARAM) L"1.1");
|
||||
SendMessage(hBox, CB_INSERTSTRING, -1, (LPARAM) L"2.0");
|
||||
SendMessage(hBox, CB_SETCURSEL, 0, 0);
|
||||
hBox = GetDlgItem(hDlg, IDC_NA_INDEXVERSION);
|
||||
SendMessage(hBox, CB_INSERTSTRING, -1, (LPARAM) L"7.0");
|
||||
SendMessage(hBox, CB_INSERTSTRING, -1, (LPARAM) L"7.1");
|
||||
SendMessage(hBox, CB_INSERTSTRING, -1, (LPARAM) L"3.0");
|
||||
SendMessage(hBox, CB_SETCURSEL, 0, 0);
|
||||
|
||||
//Create the tooltips
|
||||
HWND FARInfo = CreateWindowEx(0, TOOLTIPS_CLASS, NULL,
|
||||
WS_POPUP | TTS_NOPREFIX | TTS_BALLOON | TTS_ALWAYSTIP,
|
||||
CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
hDlg, NULL, hInst, NULL),
|
||||
DBPFInfo = CreateWindowEx(0, TOOLTIPS_CLASS, NULL,
|
||||
WS_POPUP | TTS_NOPREFIX | TTS_BALLOON | TTS_ALWAYSTIP,
|
||||
CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
hDlg, NULL, hInst, NULL);
|
||||
|
||||
TOOLINFO tinfo = {
|
||||
sizeof(TOOLINFO), //cbSize
|
||||
TTF_IDISHWND | TTF_SUBCLASS, //uFlags
|
||||
hDlg, //hwnd
|
||||
0, //uId
|
||||
NULL, //rect
|
||||
0 //hinst
|
||||
};
|
||||
|
||||
tinfo.uId = (UINT_PTR) GetDlgItem(hDlg, IDC_NA_FARINFO);
|
||||
tinfo.lpszText = (wchar_t*)
|
||||
L"FAR version 1a is found in The Sims 1.\r\n\r\n"
|
||||
L"Version 1b appears to be a mistake, in which it was intended to take on the version number 2.\r\n\r\n"
|
||||
L"1b and 3 are both found exclusively in The Sims Online.";
|
||||
SendMessage(FARInfo, TTM_SETMAXTIPWIDTH, 2000, 200);
|
||||
SendMessage(FARInfo, TTM_SETTITLE, TTI_INFO_LARGE, (LPARAM) L"FAR version");
|
||||
SendMessage(FARInfo, TTM_ADDTOOL, 0, (LPARAM) &tinfo);
|
||||
SendMessage(FARInfo, TTM_SETDELAYTIME, TTDT_AUTOPOP, 12000);
|
||||
tinfo.uId = (UINT_PTR) GetDlgItem(hDlg, IDC_NA_DBPFINFO);
|
||||
tinfo.lpszText = (wchar_t*)
|
||||
L"DBPF version numbers can be shortened to the form a.b;ix,y, where "
|
||||
L"a.b is the Archive version and x.y is the Index version.\r\n\r\n"
|
||||
L"DBPF 1.0;i7.0 is found in The Sims Online and SimCity 4.\r\n\r\n"
|
||||
L"1.0;i7.0 and 1.1;i7.1 are found in The Sims 2.\r\n\r\n"
|
||||
L"2.0;i3.0 is found in Spore.";
|
||||
SendMessage(DBPFInfo, TTM_SETMAXTIPWIDTH, 2000, 200);
|
||||
SendMessage(DBPFInfo, TTM_SETTITLE, TTI_INFO_LARGE, (LPARAM) L"DBPF version");
|
||||
SendMessage(DBPFInfo, TTM_ADDTOOL, 0, (LPARAM) &tinfo);
|
||||
SendMessage(DBPFInfo, TTM_SETDELAYTIME, TTDT_AUTOPOP, 20000);
|
||||
|
||||
SetType(hDlg, TYPE_FAR);
|
||||
} return TRUE;
|
||||
case WM_CTLCOLORSTATIC:
|
||||
if((HWND) lParam == GetDlgItem(hDlg, IDC_NA_TYPETEXT)){
|
||||
SetBkColor((HDC) wParam, GetSysColor(COLOR_WINDOW));
|
||||
return (INT_PTR) GetSysColorBrush(COLOR_WINDOW);
|
||||
}
|
||||
break;
|
||||
case WM_COMMAND:
|
||||
switch(LOWORD(wParam)){
|
||||
case IDC_NA_TYPE:
|
||||
if(HIWORD(wParam) == CBN_SELCHANGE)
|
||||
SetType(hDlg, SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0));
|
||||
break;
|
||||
case IDOK:
|
||||
Archive::IsOpen = true;
|
||||
Archive::IsModified = true;
|
||||
|
||||
Archive::Path[0] = '\0'; //No actual path
|
||||
wcscpy(Archive::Filename, L"Untitled");
|
||||
Archive::SetWorkspace();
|
||||
|
||||
EndDialog(hDlg, 0);
|
||||
case IDCANCEL:
|
||||
EndDialog(hDlg, 0);
|
||||
} break;
|
||||
case WM_CLOSE:
|
||||
EndDialog(hDlg, 0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue