Michael Hansen
11 years ago
13 changed files with 1322 additions and 1274 deletions
@ -0,0 +1,76 @@ |
|||||||
|
/*==LICENSE==*
|
||||||
|
|
||||||
|
CyanWorlds.com Engine - MMOG client, server and tools |
||||||
|
Copyright (C) 2011 Cyan Worlds, Inc. |
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify |
||||||
|
it under the terms of the GNU General Public License as published by |
||||||
|
the Free Software Foundation, either version 3 of the License, or |
||||||
|
(at your option) any later version. |
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, |
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
GNU General Public License for more details. |
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License |
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Additional permissions under GNU GPL version 3 section 7 |
||||||
|
|
||||||
|
If you modify this Program, or any covered work, by linking or |
||||||
|
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK, |
||||||
|
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent |
||||||
|
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK |
||||||
|
(or a modified version of those libraries), |
||||||
|
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA, |
||||||
|
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG |
||||||
|
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the |
||||||
|
licensors of this Program grant you additional |
||||||
|
permission to convey the resulting work. Corresponding Source for a |
||||||
|
non-source form of such a combination shall include the source code for |
||||||
|
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered |
||||||
|
work. |
||||||
|
|
||||||
|
You can contact Cyan Worlds, Inc. by email legal@cyan.com |
||||||
|
or by snail mail at: |
||||||
|
Cyan Worlds, Inc. |
||||||
|
14617 N Newport Hwy |
||||||
|
Mead, WA 99021 |
||||||
|
|
||||||
|
*==LICENSE==*/ |
||||||
|
#ifndef _plResBrowser_h |
||||||
|
#define _plResBrowser_h |
||||||
|
|
||||||
|
#include <QMainWindow> |
||||||
|
|
||||||
|
class plResBrowser : public QMainWindow |
||||||
|
{ |
||||||
|
Q_OBJECT |
||||||
|
|
||||||
|
public: |
||||||
|
plResBrowser(); |
||||||
|
virtual ~plResBrowser(); |
||||||
|
|
||||||
|
void SetWindowTitle(const QString &title); |
||||||
|
|
||||||
|
protected: |
||||||
|
virtual void dragEnterEvent(QDragEnterEvent *event) override; |
||||||
|
virtual void dropEvent(QDropEvent *event) override; |
||||||
|
|
||||||
|
private slots: |
||||||
|
void OpenFile(); |
||||||
|
void OpenDirectory(); |
||||||
|
void SaveSelectedObject(); |
||||||
|
void RefreshTree(); |
||||||
|
void UpdateInfoPage(); |
||||||
|
|
||||||
|
private: |
||||||
|
class Ui_ResBrowser *fUI; |
||||||
|
|
||||||
|
void RegisterFileTypes(); |
||||||
|
void LoadPrpFile(const QString &fileName); |
||||||
|
void LoadResourcePath(const QString &path); |
||||||
|
}; |
||||||
|
|
||||||
|
#endif |
@ -1,432 +0,0 @@ |
|||||||
/*==LICENSE==*
|
|
||||||
|
|
||||||
CyanWorlds.com Engine - MMOG client, server and tools |
|
||||||
Copyright (C) 2011 Cyan Worlds, Inc. |
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify |
|
||||||
it under the terms of the GNU General Public License as published by |
|
||||||
the Free Software Foundation, either version 3 of the License, or |
|
||||||
(at your option) any later version. |
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful, |
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
||||||
GNU General Public License for more details. |
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License |
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Additional permissions under GNU GPL version 3 section 7 |
|
||||||
|
|
||||||
If you modify this Program, or any covered work, by linking or |
|
||||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK, |
|
||||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent |
|
||||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK |
|
||||||
(or a modified version of those libraries), |
|
||||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA, |
|
||||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG |
|
||||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the |
|
||||||
licensors of this Program grant you additional |
|
||||||
permission to convey the resulting work. Corresponding Source for a |
|
||||||
non-source form of such a combination shall include the source code for |
|
||||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered |
|
||||||
work. |
|
||||||
|
|
||||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com |
|
||||||
or by snail mail at: |
|
||||||
Cyan Worlds, Inc. |
|
||||||
14617 N Newport Hwy |
|
||||||
Mead, WA 99021 |
|
||||||
|
|
||||||
*==LICENSE==*/ |
|
||||||
#include "HeadSpin.h" |
|
||||||
#include "hsWindows.h" |
|
||||||
#include "hsTemplates.h" |
|
||||||
#include "res/resource.h" |
|
||||||
#include <commdlg.h> |
|
||||||
#include <commctrl.h> |
|
||||||
#include <shellapi.h> |
|
||||||
#include <shlwapi.h> |
|
||||||
#include <shlobj.h> |
|
||||||
|
|
||||||
#include "plResTreeView.h" |
|
||||||
#include "plResMgr/plResManager.h" |
|
||||||
#include "plResMgr/plResMgrSettings.h" |
|
||||||
#include "plWinRegistryTools.h" |
|
||||||
|
|
||||||
#define IDC_REGTREEVIEW 1000 |
|
||||||
|
|
||||||
extern HINSTANCE gInstance; |
|
||||||
extern char *gCommandLine; |
|
||||||
|
|
||||||
HWND gTreeView; |
|
||||||
HWND gInfoDlg; |
|
||||||
|
|
||||||
class plWaitCursor |
|
||||||
{ |
|
||||||
HCURSOR fOrig; |
|
||||||
public: |
|
||||||
plWaitCursor() |
|
||||||
{ |
|
||||||
fOrig = ::SetCursor( ::LoadCursor( nil, IDC_WAIT ) ); |
|
||||||
} |
|
||||||
|
|
||||||
~plWaitCursor() |
|
||||||
{ |
|
||||||
::SetCursor( fOrig ); |
|
||||||
} |
|
||||||
}; |
|
||||||
|
|
||||||
void SetWindowTitle( HWND hWnd, char *path ) |
|
||||||
{ |
|
||||||
char fun[ MAX_PATH + 50 ]; |
|
||||||
|
|
||||||
|
|
||||||
sprintf( fun, "plResBrowser%s%s", path != nil ? " - " : "", path != nil ? path : "" ); |
|
||||||
SetWindowText( hWnd, fun ); |
|
||||||
} |
|
||||||
|
|
||||||
INT_PTR CALLBACK AboutDialogProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) |
|
||||||
{ |
|
||||||
if( msg == WM_COMMAND ) |
|
||||||
EndDialog( hWnd, 0 ); |
|
||||||
return 0; |
|
||||||
} |
|
||||||
|
|
||||||
LRESULT CALLBACK HandleCommand( HWND hWnd, WPARAM wParam, LPARAM lParam ) |
|
||||||
{ |
|
||||||
OPENFILENAME openInfo; |
|
||||||
char fileName[ MAX_PATH ]; |
|
||||||
char path[ MAX_PATH ]; |
|
||||||
|
|
||||||
static bool filter = true; |
|
||||||
|
|
||||||
|
|
||||||
switch( LOWORD( wParam ) ) |
|
||||||
{ |
|
||||||
case ID_FILE_EXIT: |
|
||||||
PostQuitMessage( 0 ); |
|
||||||
break; |
|
||||||
|
|
||||||
case ID_FILE_OPENDIRECTORY: |
|
||||||
|
|
||||||
BROWSEINFO bInfo; |
|
||||||
LPITEMIDLIST itemList; |
|
||||||
LPMALLOC shMalloc; |
|
||||||
|
|
||||||
|
|
||||||
memset( &bInfo, 0, sizeof( bInfo ) ); |
|
||||||
bInfo.hwndOwner = hWnd; |
|
||||||
bInfo.pidlRoot = NULL; |
|
||||||
bInfo.pszDisplayName = path; |
|
||||||
bInfo.lpszTitle = "Select a Plasma 2 Data Directory:"; |
|
||||||
bInfo.ulFlags = BIF_EDITBOX; |
|
||||||
|
|
||||||
itemList = SHBrowseForFolder( &bInfo ); |
|
||||||
if( itemList != NULL ) |
|
||||||
{ |
|
||||||
plWaitCursor myWaitCursor; |
|
||||||
|
|
||||||
SHGetPathFromIDList( itemList, path ); |
|
||||||
SHGetMalloc( &shMalloc ); |
|
||||||
shMalloc->Free( itemList ); |
|
||||||
shMalloc->Release(); |
|
||||||
|
|
||||||
hsgResMgr::Reset(); |
|
||||||
plResTreeView::ClearTreeView( gTreeView ); |
|
||||||
|
|
||||||
// Load that source
|
|
||||||
plResManager *mgr = (plResManager *)hsgResMgr::ResMgr(); |
|
||||||
|
|
||||||
std::vector<plFileName> prpFiles = plFileSystem::ListDir(path, "*.prp"); |
|
||||||
for (auto iter = prpFiles.begin(); iter != prpFiles.end(); ++iter) |
|
||||||
mgr->AddSinglePage(*iter); |
|
||||||
|
|
||||||
plResTreeView::FillTreeViewFromRegistry( gTreeView ); |
|
||||||
|
|
||||||
SetWindowTitle( hWnd, path ); |
|
||||||
} |
|
||||||
|
|
||||||
break; |
|
||||||
|
|
||||||
case ID_FILE_OPEN: |
|
||||||
fileName[ 0 ] = 0; |
|
||||||
|
|
||||||
memset( &openInfo, 0, sizeof( OPENFILENAME ) ); |
|
||||||
openInfo.hInstance = gInstance; |
|
||||||
openInfo.hwndOwner = hWnd; |
|
||||||
openInfo.lStructSize = sizeof( OPENFILENAME ); |
|
||||||
openInfo.lpstrFile = fileName; |
|
||||||
openInfo.nMaxFile = sizeof( fileName ); |
|
||||||
openInfo.lpstrFilter = "Plasma 2 Pack Files\0*.prp\0All Files\0*.*\0"; |
|
||||||
openInfo.lpstrTitle = "Choose a file to browse:"; |
|
||||||
openInfo.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST; |
|
||||||
|
|
||||||
if( GetOpenFileName( &openInfo ) ) |
|
||||||
{ |
|
||||||
plWaitCursor myWaitCursor; |
|
||||||
|
|
||||||
hsgResMgr::Reset(); |
|
||||||
plResTreeView::ClearTreeView( gTreeView ); |
|
||||||
|
|
||||||
// Load that source
|
|
||||||
plResManager *mgr = (plResManager *)hsgResMgr::ResMgr(); |
|
||||||
mgr->AddSinglePage(fileName); |
|
||||||
plResTreeView::FillTreeViewFromRegistry( gTreeView ); |
|
||||||
|
|
||||||
SetWindowTitle( hWnd, fileName ); |
|
||||||
} |
|
||||||
|
|
||||||
break; |
|
||||||
|
|
||||||
case ID_FILE_ABOUT: |
|
||||||
DialogBox( gInstance, MAKEINTRESOURCE( IDD_ABOUT ), hWnd, AboutDialogProc ); |
|
||||||
break; |
|
||||||
|
|
||||||
case ID_FILE_FINDOBJECT: |
|
||||||
plResTreeView::FindObject( gTreeView ); |
|
||||||
break; |
|
||||||
|
|
||||||
case ID_FILE_FINDNEXT: |
|
||||||
plResTreeView::FindNextObject( gTreeView ); |
|
||||||
break; |
|
||||||
|
|
||||||
case ID_FILE_VERIFYPAGE: |
|
||||||
plResTreeView::VerifyCurrentPage( gTreeView ); |
|
||||||
break; |
|
||||||
|
|
||||||
case IDC_SHOWASHEX: |
|
||||||
plResTreeView::UpdateInfoDlg( gTreeView ); |
|
||||||
break; |
|
||||||
|
|
||||||
case ID_FILE_ONLYLOAD: |
|
||||||
filter = !filter; |
|
||||||
plResTreeView::FilterLoadables( filter, gTreeView ); |
|
||||||
{ |
|
||||||
HMENU menu = ::GetMenu( hWnd ); |
|
||||||
menu = ::GetSubMenu( menu, 0 ); |
|
||||||
::CheckMenuItem( menu, ID_FILE_ONLYLOAD, MF_BYCOMMAND | ( filter ? MF_CHECKED : MF_UNCHECKED ) ); |
|
||||||
} |
|
||||||
break; |
|
||||||
|
|
||||||
case ID_FILE_SAVESELECTED: |
|
||||||
plResTreeView::SaveSelectedObject(gTreeView); |
|
||||||
break; |
|
||||||
|
|
||||||
default: |
|
||||||
return DefWindowProc( hWnd, WM_COMMAND, wParam, lParam ); |
|
||||||
} |
|
||||||
|
|
||||||
return 0; |
|
||||||
} |
|
||||||
|
|
||||||
void SizeControls( HWND parent ) |
|
||||||
{ |
|
||||||
RECT clientRect, infoRect; |
|
||||||
|
|
||||||
|
|
||||||
GetClientRect( parent, &clientRect ); |
|
||||||
GetClientRect( gInfoDlg, &infoRect ); |
|
||||||
|
|
||||||
SetWindowPos( gTreeView, NULL, 0, 0, clientRect.right - infoRect.right - 4, clientRect.bottom, 0 ); |
|
||||||
|
|
||||||
OffsetRect( &infoRect, clientRect.right - infoRect.right, ( clientRect.bottom >> 1 ) - ( infoRect.bottom >> 1 ) ); |
|
||||||
SetWindowPos( gInfoDlg, NULL, infoRect.left, infoRect.top, 0, 0, SWP_NOSIZE ); |
|
||||||
} |
|
||||||
|
|
||||||
void InitWindowControls( HWND hWnd ) |
|
||||||
{ |
|
||||||
RECT clientRect; |
|
||||||
|
|
||||||
|
|
||||||
GetClientRect( hWnd, &clientRect ); |
|
||||||
|
|
||||||
gTreeView = CreateWindowEx( WS_EX_CLIENTEDGE, WC_TREEVIEW, "Tree View", WS_VISIBLE | WS_CHILD | WS_BORDER | |
|
||||||
TVS_HASLINES | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_SHOWSELALWAYS, |
|
||||||
0, 0, 0, 0, |
|
||||||
hWnd, (HMENU)IDC_REGTREEVIEW, gInstance, NULL ); |
|
||||||
|
|
||||||
|
|
||||||
gInfoDlg = CreateDialog( gInstance, MAKEINTRESOURCE( IDD_INFODLG ), hWnd, plResTreeView::InfoDlgProc ); |
|
||||||
|
|
||||||
SizeControls( hWnd ); |
|
||||||
} |
|
||||||
|
|
||||||
static bool sFileTypesRegistered = false; |
|
||||||
|
|
||||||
void RegisterFileTypes( HWND mainWnd ) |
|
||||||
{ |
|
||||||
if( sFileTypesRegistered ) |
|
||||||
return; |
|
||||||
|
|
||||||
// Make sure our file types are created
|
|
||||||
char path[ MAX_PATH ]; |
|
||||||
|
|
||||||
if( ::GetModuleFileName( nil, path, sizeof( path ) ) == 0 ) |
|
||||||
return; |
|
||||||
|
|
||||||
//plWinRegistryTools::AssociateFileType( "PlasmaIdxFile", "Plasma 2 Index File", path, 1 );
|
|
||||||
//plWinRegistryTools::AssociateFileType( "PlasmaDatFile", "Plasma 2 Data File", path, 2 );
|
|
||||||
//plWinRegistryTools::AssociateFileType( "PlasmaPatchFile", "Plasma 2 Patch File", path, 3 );
|
|
||||||
plWinRegistryTools::AssociateFileType( "PlasmaPackFile", "Plasma 2 Packfile", path, 4 ); |
|
||||||
|
|
||||||
// Check our file extensions
|
|
||||||
char prpAssoc[ 512 ]; |
|
||||||
bool needToRegister = true; |
|
||||||
if( plWinRegistryTools::GetCurrentFileExtensionAssociation( ".prp", prpAssoc, sizeof( prpAssoc ) ) ) |
|
||||||
{ |
|
||||||
if( strcmp( prpAssoc, "PlasmaPackFile" ) == 0 ) |
|
||||||
needToRegister = false; |
|
||||||
} |
|
||||||
|
|
||||||
if( needToRegister ) |
|
||||||
{ |
|
||||||
if( MessageBox( nil, "The Plasma 2 packed data file extension .prp is not currently associated with " |
|
||||||
"plResBrowser. Would you like to associate it now?", "plResBrowser File Type Association",
|
|
||||||
MB_YESNO | MB_ICONQUESTION) == IDYES ) |
|
||||||
{ |
|
||||||
// Associate 'em
|
|
||||||
plWinRegistryTools::AssociateFileExtension( ".prp", "PlasmaPackFile" ); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
sFileTypesRegistered = true; |
|
||||||
} |
|
||||||
|
|
||||||
LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) |
|
||||||
{
|
|
||||||
switch( message )
|
|
||||||
{
|
|
||||||
case WM_CREATE: |
|
||||||
InitCommonControls(); |
|
||||||
InitWindowControls( hWnd ); |
|
||||||
RegisterFileTypes( hWnd ); |
|
||||||
plResMgrSettings::Get().SetLoadPagesOnInit(false); |
|
||||||
|
|
||||||
{ |
|
||||||
plResTreeView::FilterLoadables( true, gTreeView ); |
|
||||||
HMENU menu = ::GetMenu( hWnd ); |
|
||||||
menu = ::GetSubMenu( menu, 0 ); |
|
||||||
::CheckMenuItem( menu, ID_FILE_ONLYLOAD, MF_BYCOMMAND | MF_CHECKED ); |
|
||||||
} |
|
||||||
|
|
||||||
if( gCommandLine != nil ) |
|
||||||
{ |
|
||||||
plWaitCursor myWaitCursor; |
|
||||||
|
|
||||||
char path[ MAX_PATH ]; |
|
||||||
if( gCommandLine[ 0 ] == '"' ) |
|
||||||
{ |
|
||||||
strcpy( path, gCommandLine + 1 ); |
|
||||||
char *c = strchr( path, '"' ); |
|
||||||
if( c != nil ) |
|
||||||
*c = 0; |
|
||||||
} |
|
||||||
else |
|
||||||
strcpy( path, gCommandLine ); |
|
||||||
|
|
||||||
if( stricmp( PathFindExtension( path ), ".prp" ) == 0 ) |
|
||||||
{ |
|
||||||
hsgResMgr::Reset(); |
|
||||||
plResTreeView::ClearTreeView( gTreeView ); |
|
||||||
plResManager *mgr = (plResManager *)hsgResMgr::ResMgr(); |
|
||||||
mgr->AddSinglePage(path); |
|
||||||
plResTreeView::FillTreeViewFromRegistry( gTreeView ); |
|
||||||
|
|
||||||
SetWindowTitle( hWnd, path ); |
|
||||||
} |
|
||||||
} |
|
||||||
break; |
|
||||||
|
|
||||||
case WM_CLOSE: |
|
||||||
DestroyWindow( hWnd ); |
|
||||||
break; |
|
||||||
case WM_DESTROY: |
|
||||||
plResTreeView::ClearTreeView( gTreeView ); |
|
||||||
PostQuitMessage(0); |
|
||||||
break; |
|
||||||
|
|
||||||
case WM_SIZING: |
|
||||||
case WM_SIZE: |
|
||||||
SizeControls( hWnd ); |
|
||||||
break; |
|
||||||
|
|
||||||
case WM_NOTIFY: |
|
||||||
if( wParam == IDC_REGTREEVIEW ) |
|
||||||
{ |
|
||||||
NMHDR *hdr = (NMHDR *)lParam; |
|
||||||
if( hdr->code == TVN_SELCHANGED ) |
|
||||||
{ |
|
||||||
plResTreeView::UpdateInfoDlg( gTreeView ); |
|
||||||
//NMTREEVIEW *tv = (NMTREEVIEW *)hdr;
|
|
||||||
|
|
||||||
} |
|
||||||
else if( hdr->code == NM_DBLCLK ) |
|
||||||
{ |
|
||||||
plResTreeView::SelectionDblClicked( gTreeView ); |
|
||||||
} |
|
||||||
} |
|
||||||
break; |
|
||||||
|
|
||||||
case WM_DROPFILES: |
|
||||||
{ |
|
||||||
int i, j, fileCount = DragQueryFile( (HDROP)wParam, -1, nil, 0 ); |
|
||||||
char path[ MAX_PATH ]; |
|
||||||
|
|
||||||
plWaitCursor myWaitCursor; |
|
||||||
|
|
||||||
hsgResMgr::Reset(); |
|
||||||
plResTreeView::ClearTreeView( gTreeView ); |
|
||||||
plResManager *mgr = (plResManager *)hsgResMgr::ResMgr(); |
|
||||||
|
|
||||||
if( fileCount == 1 && DragQueryFile( (HDROP)wParam, 0, path, sizeof( path ) ) > 0 && |
|
||||||
( (char *)PathFindExtension( path ) )[ 0 ] == 0 ) |
|
||||||
{ |
|
||||||
// Must be a directory
|
|
||||||
std::vector<plFileName> prpFiles = plFileSystem::ListDir(path, "*.prp"); |
|
||||||
for (auto iter = prpFiles.begin(); iter != prpFiles.end(); ++iter) |
|
||||||
mgr->AddSinglePage(*iter); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
hsTArray<char *> filesAdded; |
|
||||||
|
|
||||||
filesAdded.Reset(); |
|
||||||
for( i = 0; i < fileCount; i++ ) |
|
||||||
{ |
|
||||||
if( DragQueryFile( (HDROP)wParam, i, path, sizeof( path ) ) > 0 ) |
|
||||||
{ |
|
||||||
// Check for duplicates
|
|
||||||
for( j = 0; j < filesAdded.GetCount(); j++ ) |
|
||||||
{ |
|
||||||
if( stricmp( filesAdded[ j ], path ) == 0 ) |
|
||||||
break; |
|
||||||
} |
|
||||||
if( j < filesAdded.GetCount() ) |
|
||||||
continue; |
|
||||||
|
|
||||||
if( stricmp( PathFindExtension( path ), ".prp" ) == 0 ) |
|
||||||
{ |
|
||||||
mgr->AddSinglePage(path); |
|
||||||
filesAdded.Append( hsStrcpy( path ) ); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
for( j = 0; j < filesAdded.GetCount(); j++ ) |
|
||||||
delete [] filesAdded[ j ]; |
|
||||||
} |
|
||||||
plResTreeView::FillTreeViewFromRegistry( gTreeView ); |
|
||||||
|
|
||||||
PathRemoveFileSpec( path ); |
|
||||||
SetWindowTitle( hWnd, path ); |
|
||||||
} |
|
||||||
break; |
|
||||||
|
|
||||||
case WM_COMMAND: |
|
||||||
return HandleCommand( hWnd, wParam, lParam ); |
|
||||||
} |
|
||||||
|
|
||||||
return DefWindowProc( hWnd, message, wParam, lParam ); |
|
||||||
} |
|
||||||
|
|
@ -0,0 +1,76 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<ui version="4.0"> |
||||||
|
<class>FindDialog</class> |
||||||
|
<widget class="QDialog" name="FindDialog"> |
||||||
|
<property name="geometry"> |
||||||
|
<rect> |
||||||
|
<x>0</x> |
||||||
|
<y>0</y> |
||||||
|
<width>320</width> |
||||||
|
<height>71</height> |
||||||
|
</rect> |
||||||
|
</property> |
||||||
|
<property name="windowTitle"> |
||||||
|
<string>Find Object</string> |
||||||
|
</property> |
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout"> |
||||||
|
<item> |
||||||
|
<widget class="QGroupBox" name="groupBox"> |
||||||
|
<property name="title"> |
||||||
|
<string>Object Name</string> |
||||||
|
</property> |
||||||
|
<layout class="QVBoxLayout" name="verticalLayout"> |
||||||
|
<item> |
||||||
|
<widget class="QLineEdit" name="fObjectName"/> |
||||||
|
</item> |
||||||
|
</layout> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item> |
||||||
|
<widget class="QDialogButtonBox" name="buttonBox"> |
||||||
|
<property name="orientation"> |
||||||
|
<enum>Qt::Vertical</enum> |
||||||
|
</property> |
||||||
|
<property name="standardButtons"> |
||||||
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
</layout> |
||||||
|
</widget> |
||||||
|
<resources/> |
||||||
|
<connections> |
||||||
|
<connection> |
||||||
|
<sender>buttonBox</sender> |
||||||
|
<signal>accepted()</signal> |
||||||
|
<receiver>FindDialog</receiver> |
||||||
|
<slot>accept()</slot> |
||||||
|
<hints> |
||||||
|
<hint type="sourcelabel"> |
||||||
|
<x>248</x> |
||||||
|
<y>254</y> |
||||||
|
</hint> |
||||||
|
<hint type="destinationlabel"> |
||||||
|
<x>157</x> |
||||||
|
<y>274</y> |
||||||
|
</hint> |
||||||
|
</hints> |
||||||
|
</connection> |
||||||
|
<connection> |
||||||
|
<sender>buttonBox</sender> |
||||||
|
<signal>rejected()</signal> |
||||||
|
<receiver>FindDialog</receiver> |
||||||
|
<slot>reject()</slot> |
||||||
|
<hints> |
||||||
|
<hint type="sourcelabel"> |
||||||
|
<x>316</x> |
||||||
|
<y>260</y> |
||||||
|
</hint> |
||||||
|
<hint type="destinationlabel"> |
||||||
|
<x>286</x> |
||||||
|
<y>274</y> |
||||||
|
</hint> |
||||||
|
</hints> |
||||||
|
</connection> |
||||||
|
</connections> |
||||||
|
</ui> |
@ -0,0 +1,591 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<ui version="4.0"> |
||||||
|
<class>ResBrowser</class> |
||||||
|
<widget class="QMainWindow" name="ResBrowser"> |
||||||
|
<property name="geometry"> |
||||||
|
<rect> |
||||||
|
<x>0</x> |
||||||
|
<y>0</y> |
||||||
|
<width>800</width> |
||||||
|
<height>600</height> |
||||||
|
</rect> |
||||||
|
</property> |
||||||
|
<property name="windowTitle"> |
||||||
|
<string>plResBrowser</string> |
||||||
|
</property> |
||||||
|
<widget class="QWidget" name="centralwidget"> |
||||||
|
<layout class="QVBoxLayout" name="verticalLayout"> |
||||||
|
<property name="leftMargin"> |
||||||
|
<number>0</number> |
||||||
|
</property> |
||||||
|
<property name="topMargin"> |
||||||
|
<number>0</number> |
||||||
|
</property> |
||||||
|
<property name="rightMargin"> |
||||||
|
<number>0</number> |
||||||
|
</property> |
||||||
|
<property name="bottomMargin"> |
||||||
|
<number>0</number> |
||||||
|
</property> |
||||||
|
<item> |
||||||
|
<widget class="plResTreeView" name="fTreeView"> |
||||||
|
<attribute name="headerVisible"> |
||||||
|
<bool>false</bool> |
||||||
|
</attribute> |
||||||
|
<column> |
||||||
|
<property name="text"> |
||||||
|
<string notr="true">1</string> |
||||||
|
</property> |
||||||
|
</column> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
</layout> |
||||||
|
</widget> |
||||||
|
<widget class="QMenuBar" name="menubar"> |
||||||
|
<property name="geometry"> |
||||||
|
<rect> |
||||||
|
<x>0</x> |
||||||
|
<y>0</y> |
||||||
|
<width>800</width> |
||||||
|
<height>21</height> |
||||||
|
</rect> |
||||||
|
</property> |
||||||
|
<widget class="QMenu" name="menu_File"> |
||||||
|
<property name="title"> |
||||||
|
<string>&File</string> |
||||||
|
</property> |
||||||
|
<addaction name="fOpenAction"/> |
||||||
|
<addaction name="fOpenDirectoryAction"/> |
||||||
|
<addaction name="separator"/> |
||||||
|
<addaction name="fSaveSelectedAction"/> |
||||||
|
<addaction name="separator"/> |
||||||
|
<addaction name="fFindAction"/> |
||||||
|
<addaction name="fFindNextAction"/> |
||||||
|
<addaction name="fShowOnlyLoadableAction"/> |
||||||
|
<addaction name="separator"/> |
||||||
|
<addaction name="fExitAction"/> |
||||||
|
</widget> |
||||||
|
<widget class="QMenu" name="menu_Help"> |
||||||
|
<property name="title"> |
||||||
|
<string>&Help</string> |
||||||
|
</property> |
||||||
|
<addaction name="fAboutAction"/> |
||||||
|
</widget> |
||||||
|
<addaction name="menu_File"/> |
||||||
|
<addaction name="menu_Help"/> |
||||||
|
</widget> |
||||||
|
<widget class="QDockWidget" name="dockWidget"> |
||||||
|
<property name="minimumSize"> |
||||||
|
<size> |
||||||
|
<width>300</width> |
||||||
|
<height>520</height> |
||||||
|
</size> |
||||||
|
</property> |
||||||
|
<property name="features"> |
||||||
|
<set>QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable</set> |
||||||
|
</property> |
||||||
|
<property name="allowedAreas"> |
||||||
|
<set>Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea</set> |
||||||
|
</property> |
||||||
|
<property name="windowTitle"> |
||||||
|
<string>Properties</string> |
||||||
|
</property> |
||||||
|
<attribute name="dockWidgetArea"> |
||||||
|
<number>2</number> |
||||||
|
</attribute> |
||||||
|
<widget class="QWidget" name="dockWidgetContents"> |
||||||
|
<property name="sizePolicy"> |
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred"> |
||||||
|
<horstretch>0</horstretch> |
||||||
|
<verstretch>0</verstretch> |
||||||
|
</sizepolicy> |
||||||
|
</property> |
||||||
|
<property name="minimumSize"> |
||||||
|
<size> |
||||||
|
<width>300</width> |
||||||
|
<height>0</height> |
||||||
|
</size> |
||||||
|
</property> |
||||||
|
<property name="maximumSize"> |
||||||
|
<size> |
||||||
|
<width>300</width> |
||||||
|
<height>16777215</height> |
||||||
|
</size> |
||||||
|
</property> |
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2"> |
||||||
|
<item> |
||||||
|
<widget class="QGroupBox" name="groupBox"> |
||||||
|
<property name="title"> |
||||||
|
<string>Page Information</string> |
||||||
|
</property> |
||||||
|
<layout class="QGridLayout" name="gridLayout_2"> |
||||||
|
<item row="0" column="0"> |
||||||
|
<widget class="QLabel" name="label"> |
||||||
|
<property name="text"> |
||||||
|
<string>Age:</string> |
||||||
|
</property> |
||||||
|
<property name="alignment"> |
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="0" column="1"> |
||||||
|
<widget class="QLineEdit" name="fAgeName"> |
||||||
|
<property name="readOnly"> |
||||||
|
<bool>true</bool> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="2" column="1"> |
||||||
|
<widget class="QLineEdit" name="fLocation"> |
||||||
|
<property name="readOnly"> |
||||||
|
<bool>true</bool> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="4" column="0"> |
||||||
|
<widget class="QLabel" name="label_4"> |
||||||
|
<property name="text"> |
||||||
|
<string>Data Version:</string> |
||||||
|
</property> |
||||||
|
<property name="alignment"> |
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="2" column="0"> |
||||||
|
<widget class="QLabel" name="label_3"> |
||||||
|
<property name="text"> |
||||||
|
<string>Location:</string> |
||||||
|
</property> |
||||||
|
<property name="alignment"> |
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="1" column="0"> |
||||||
|
<widget class="QLabel" name="label_2"> |
||||||
|
<property name="text"> |
||||||
|
<string>Page</string> |
||||||
|
</property> |
||||||
|
<property name="alignment"> |
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="1" column="1"> |
||||||
|
<widget class="QLineEdit" name="fPageName"> |
||||||
|
<property name="readOnly"> |
||||||
|
<bool>true</bool> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="4" column="1"> |
||||||
|
<widget class="QLineEdit" name="fDataVersion"> |
||||||
|
<property name="readOnly"> |
||||||
|
<bool>true</bool> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="6" column="1"> |
||||||
|
<widget class="QLineEdit" name="fChecksum"> |
||||||
|
<property name="readOnly"> |
||||||
|
<bool>true</bool> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="6" column="0"> |
||||||
|
<widget class="QLabel" name="label_5"> |
||||||
|
<property name="text"> |
||||||
|
<string>Checksum:</string> |
||||||
|
</property> |
||||||
|
<property name="alignment"> |
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="3" column="1"> |
||||||
|
<layout class="QGridLayout" name="gridLayout"> |
||||||
|
<item row="0" column="0"> |
||||||
|
<widget class="QCheckBox" name="fLocalOnly"> |
||||||
|
<property name="enabled"> |
||||||
|
<bool>false</bool> |
||||||
|
</property> |
||||||
|
<property name="text"> |
||||||
|
<string/> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="0" column="2"> |
||||||
|
<widget class="QCheckBox" name="fVolatile"> |
||||||
|
<property name="enabled"> |
||||||
|
<bool>false</bool> |
||||||
|
</property> |
||||||
|
<property name="text"> |
||||||
|
<string/> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="1" column="0"> |
||||||
|
<widget class="QCheckBox" name="fReserved"> |
||||||
|
<property name="enabled"> |
||||||
|
<bool>false</bool> |
||||||
|
</property> |
||||||
|
<property name="text"> |
||||||
|
<string/> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="1" column="2"> |
||||||
|
<widget class="QCheckBox" name="fBuiltIn"> |
||||||
|
<property name="enabled"> |
||||||
|
<bool>false</bool> |
||||||
|
</property> |
||||||
|
<property name="text"> |
||||||
|
<string/> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="0" column="1"> |
||||||
|
<widget class="QLabel" name="label_11"> |
||||||
|
<property name="sizePolicy"> |
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred"> |
||||||
|
<horstretch>0</horstretch> |
||||||
|
<verstretch>0</verstretch> |
||||||
|
</sizepolicy> |
||||||
|
</property> |
||||||
|
<property name="text"> |
||||||
|
<string>Local Only</string> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="1" column="1"> |
||||||
|
<widget class="QLabel" name="label_12"> |
||||||
|
<property name="sizePolicy"> |
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred"> |
||||||
|
<horstretch>0</horstretch> |
||||||
|
<verstretch>0</verstretch> |
||||||
|
</sizepolicy> |
||||||
|
</property> |
||||||
|
<property name="text"> |
||||||
|
<string>Reserved</string> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="0" column="3"> |
||||||
|
<widget class="QLabel" name="label_13"> |
||||||
|
<property name="sizePolicy"> |
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred"> |
||||||
|
<horstretch>0</horstretch> |
||||||
|
<verstretch>0</verstretch> |
||||||
|
</sizepolicy> |
||||||
|
</property> |
||||||
|
<property name="text"> |
||||||
|
<string>Volatile</string> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="1" column="3"> |
||||||
|
<widget class="QLabel" name="label_14"> |
||||||
|
<property name="sizePolicy"> |
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred"> |
||||||
|
<horstretch>0</horstretch> |
||||||
|
<verstretch>0</verstretch> |
||||||
|
</sizepolicy> |
||||||
|
</property> |
||||||
|
<property name="text"> |
||||||
|
<string>Built-In</string> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
</layout> |
||||||
|
</item> |
||||||
|
<item row="7" column="1"> |
||||||
|
<widget class="QLineEdit" name="fChecksumType"> |
||||||
|
<property name="readOnly"> |
||||||
|
<bool>true</bool> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="7" column="0"> |
||||||
|
<widget class="QLabel" name="label_6"> |
||||||
|
<property name="text"> |
||||||
|
<string>Checksum Type:</string> |
||||||
|
</property> |
||||||
|
<property name="alignment"> |
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="5" column="0" colspan="2"> |
||||||
|
<spacer name="verticalSpacer"> |
||||||
|
<property name="orientation"> |
||||||
|
<enum>Qt::Vertical</enum> |
||||||
|
</property> |
||||||
|
<property name="sizeType"> |
||||||
|
<enum>QSizePolicy::Fixed</enum> |
||||||
|
</property> |
||||||
|
<property name="sizeHint" stdset="0"> |
||||||
|
<size> |
||||||
|
<width>0</width> |
||||||
|
<height>40</height> |
||||||
|
</size> |
||||||
|
</property> |
||||||
|
</spacer> |
||||||
|
</item> |
||||||
|
</layout> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item> |
||||||
|
<widget class="QGroupBox" name="groupBox_2"> |
||||||
|
<property name="title"> |
||||||
|
<string>Object Information</string> |
||||||
|
</property> |
||||||
|
<layout class="QGridLayout" name="gridLayout_3"> |
||||||
|
<item row="3" column="0"> |
||||||
|
<widget class="QLabel" name="label_9"> |
||||||
|
<property name="text"> |
||||||
|
<string>Start Pos:</string> |
||||||
|
</property> |
||||||
|
<property name="alignment"> |
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="0" column="0"> |
||||||
|
<widget class="QLabel" name="label_7"> |
||||||
|
<property name="text"> |
||||||
|
<string>Name:</string> |
||||||
|
</property> |
||||||
|
<property name="alignment"> |
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="1" column="0"> |
||||||
|
<widget class="QLabel" name="label_8"> |
||||||
|
<property name="text"> |
||||||
|
<string>Class:</string> |
||||||
|
</property> |
||||||
|
<property name="alignment"> |
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="3" column="1"> |
||||||
|
<widget class="QLineEdit" name="fStartPos"> |
||||||
|
<property name="readOnly"> |
||||||
|
<bool>true</bool> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="3" column="3"> |
||||||
|
<widget class="QLabel" name="label_10"> |
||||||
|
<property name="text"> |
||||||
|
<string>Size:</string> |
||||||
|
</property> |
||||||
|
<property name="alignment"> |
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="2" column="0" colspan="5"> |
||||||
|
<spacer name="verticalSpacer_2"> |
||||||
|
<property name="orientation"> |
||||||
|
<enum>Qt::Vertical</enum> |
||||||
|
</property> |
||||||
|
<property name="sizeType"> |
||||||
|
<enum>QSizePolicy::Fixed</enum> |
||||||
|
</property> |
||||||
|
<property name="sizeHint" stdset="0"> |
||||||
|
<size> |
||||||
|
<width>0</width> |
||||||
|
<height>20</height> |
||||||
|
</size> |
||||||
|
</property> |
||||||
|
</spacer> |
||||||
|
</item> |
||||||
|
<item row="3" column="4"> |
||||||
|
<widget class="QLineEdit" name="fObjectSize"> |
||||||
|
<property name="readOnly"> |
||||||
|
<bool>true</bool> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="0" column="1" colspan="4"> |
||||||
|
<widget class="QLineEdit" name="fObjectName"> |
||||||
|
<property name="readOnly"> |
||||||
|
<bool>true</bool> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="1" column="1" colspan="4"> |
||||||
|
<widget class="QLineEdit" name="fObjectClass"> |
||||||
|
<property name="readOnly"> |
||||||
|
<bool>true</bool> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item row="3" column="2"> |
||||||
|
<spacer name="horizontalSpacer_3"> |
||||||
|
<property name="orientation"> |
||||||
|
<enum>Qt::Horizontal</enum> |
||||||
|
</property> |
||||||
|
<property name="sizeType"> |
||||||
|
<enum>QSizePolicy::Fixed</enum> |
||||||
|
</property> |
||||||
|
<property name="sizeHint" stdset="0"> |
||||||
|
<size> |
||||||
|
<width>16</width> |
||||||
|
<height>0</height> |
||||||
|
</size> |
||||||
|
</property> |
||||||
|
</spacer> |
||||||
|
</item> |
||||||
|
</layout> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item> |
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2"> |
||||||
|
<item> |
||||||
|
<spacer name="horizontalSpacer_2"> |
||||||
|
<property name="orientation"> |
||||||
|
<enum>Qt::Horizontal</enum> |
||||||
|
</property> |
||||||
|
<property name="sizeHint" stdset="0"> |
||||||
|
<size> |
||||||
|
<width>40</width> |
||||||
|
<height>20</height> |
||||||
|
</size> |
||||||
|
</property> |
||||||
|
</spacer> |
||||||
|
</item> |
||||||
|
<item> |
||||||
|
<widget class="QCheckBox" name="fHexValues"> |
||||||
|
<property name="text"> |
||||||
|
<string>View values as he&x</string> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
</layout> |
||||||
|
</item> |
||||||
|
<item> |
||||||
|
<spacer name="verticalSpacer_3"> |
||||||
|
<property name="orientation"> |
||||||
|
<enum>Qt::Vertical</enum> |
||||||
|
</property> |
||||||
|
<property name="sizeHint" stdset="0"> |
||||||
|
<size> |
||||||
|
<width>20</width> |
||||||
|
<height>40</height> |
||||||
|
</size> |
||||||
|
</property> |
||||||
|
</spacer> |
||||||
|
</item> |
||||||
|
<item> |
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout"> |
||||||
|
<item> |
||||||
|
<widget class="QPushButton" name="fFindButton"> |
||||||
|
<property name="text"> |
||||||
|
<string>Fin&d</string> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item> |
||||||
|
<widget class="QPushButton" name="fFindNextButton"> |
||||||
|
<property name="text"> |
||||||
|
<string>Find &Next</string> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
<item> |
||||||
|
<spacer name="horizontalSpacer"> |
||||||
|
<property name="orientation"> |
||||||
|
<enum>Qt::Horizontal</enum> |
||||||
|
</property> |
||||||
|
<property name="sizeHint" stdset="0"> |
||||||
|
<size> |
||||||
|
<width>40</width> |
||||||
|
<height>20</height> |
||||||
|
</size> |
||||||
|
</property> |
||||||
|
</spacer> |
||||||
|
</item> |
||||||
|
<item> |
||||||
|
<widget class="QPushButton" name="fSaveButton"> |
||||||
|
<property name="enabled"> |
||||||
|
<bool>false</bool> |
||||||
|
</property> |
||||||
|
<property name="text"> |
||||||
|
<string>&Save Object</string> |
||||||
|
</property> |
||||||
|
</widget> |
||||||
|
</item> |
||||||
|
</layout> |
||||||
|
</item> |
||||||
|
</layout> |
||||||
|
</widget> |
||||||
|
</widget> |
||||||
|
<action name="fOpenAction"> |
||||||
|
<property name="text"> |
||||||
|
<string>&Open...</string> |
||||||
|
</property> |
||||||
|
</action> |
||||||
|
<action name="fOpenDirectoryAction"> |
||||||
|
<property name="text"> |
||||||
|
<string>Open &Directory...</string> |
||||||
|
</property> |
||||||
|
</action> |
||||||
|
<action name="fSaveSelectedAction"> |
||||||
|
<property name="enabled"> |
||||||
|
<bool>false</bool> |
||||||
|
</property> |
||||||
|
<property name="text"> |
||||||
|
<string>&Save Selected Object</string> |
||||||
|
</property> |
||||||
|
</action> |
||||||
|
<action name="fFindAction"> |
||||||
|
<property name="text"> |
||||||
|
<string>&Find Object...</string> |
||||||
|
</property> |
||||||
|
<property name="shortcut"> |
||||||
|
<string>Ctrl+F</string> |
||||||
|
</property> |
||||||
|
</action> |
||||||
|
<action name="fFindNextAction"> |
||||||
|
<property name="text"> |
||||||
|
<string>Find &Next</string> |
||||||
|
</property> |
||||||
|
<property name="shortcut"> |
||||||
|
<string>F3</string> |
||||||
|
</property> |
||||||
|
</action> |
||||||
|
<action name="fShowOnlyLoadableAction"> |
||||||
|
<property name="checkable"> |
||||||
|
<bool>true</bool> |
||||||
|
</property> |
||||||
|
<property name="text"> |
||||||
|
<string>Show Only &Loadable</string> |
||||||
|
</property> |
||||||
|
</action> |
||||||
|
<action name="fExitAction"> |
||||||
|
<property name="text"> |
||||||
|
<string>E&xit</string> |
||||||
|
</property> |
||||||
|
</action> |
||||||
|
<action name="fAboutAction"> |
||||||
|
<property name="text"> |
||||||
|
<string>&About...</string> |
||||||
|
</property> |
||||||
|
</action> |
||||||
|
</widget> |
||||||
|
<customwidgets> |
||||||
|
<customwidget> |
||||||
|
<class>plResTreeView</class> |
||||||
|
<extends>QTreeWidget</extends> |
||||||
|
<header>plResTreeView.h</header> |
||||||
|
</customwidget> |
||||||
|
</customwidgets> |
||||||
|
<resources/> |
||||||
|
<connections/> |
||||||
|
</ui> |
@ -0,0 +1,5 @@ |
|||||||
|
<!DOCTYPE RCC><RCC version="1.0"> |
||||||
|
<qresource> |
||||||
|
<file>icon1.ico</file> |
||||||
|
</qresource> |
||||||
|
</RCC> |
@ -1,68 +0,0 @@ |
|||||||
//{{NO_DEPENDENCIES}}
|
|
||||||
// Microsoft Visual C++ generated include file.
|
|
||||||
// Used by plResBrowser.rc
|
|
||||||
//
|
|
||||||
#define IDI_ICON1 101 |
|
||||||
#define IDI_APPICON 101 |
|
||||||
#define IDR_APPMENU 102 |
|
||||||
#define IDD_INFODLG 103 |
|
||||||
#define IDD_ABOUT 104 |
|
||||||
#define IDR_ACCELERATOR1 106 |
|
||||||
#define IDD_FINDOBJ 107 |
|
||||||
#define IDI_INDEXICON 108 |
|
||||||
#define IDI_DATAICON 109 |
|
||||||
#define IDI_PATCHICON 110 |
|
||||||
#define IDI_MERGEDDATAICON 111 |
|
||||||
#define IDI_MERGEDINDEXICON 112 |
|
||||||
#define IDC_NAME 1000 |
|
||||||
#define IDC_AGE 1001 |
|
||||||
#define IDC_CHAPTER 1002 |
|
||||||
#define IDC_PAGE 1003 |
|
||||||
#define IDC_LOCATION 1004 |
|
||||||
#define IDC_RESERVED 1005 |
|
||||||
#define IDC_CLASS 1006 |
|
||||||
#define IDC_STARTPOS 1007 |
|
||||||
#define IDC_LENGTH 1008 |
|
||||||
#define IDC_CANLOAD 1009 |
|
||||||
#define IDC_STARTPOS_LABEL 1010 |
|
||||||
#define IDC_SIZE_LABEL 1011 |
|
||||||
#define IDC_INTERLEAVED 1012 |
|
||||||
#define IDC_RELVERSION 1013 |
|
||||||
#define IDC_SEARCHSTRING 1014 |
|
||||||
#define IDC_DATAVERSION 1014 |
|
||||||
#define IDC_IDXCHECKSUM 1015 |
|
||||||
#define IDC_DATACHECKSUM 1016 |
|
||||||
#define IDC_CHECKSUMTYPE 1017 |
|
||||||
#define IDC_SHOWASHEX 1018 |
|
||||||
#define IDC_SCROLLBAR 1019 |
|
||||||
#define IDC_PARTIALPATCH 1019 |
|
||||||
#define IDC_FRAME 1020 |
|
||||||
#define IDC_HEADERPATCH 1020 |
|
||||||
#define IDC_COPIED 1021 |
|
||||||
#define IDC_NEW 1022 |
|
||||||
#define IDC_ZOOM 1023 |
|
||||||
#define IDC_ZOOMSLIDER 1024 |
|
||||||
#define IDC_SEGINFO 1025 |
|
||||||
#define IDC_LOCAL_ONLY 1025 |
|
||||||
#define IDC_BUILTIN 1026 |
|
||||||
#define IDC_VOLATILE 1027 |
|
||||||
#define ID_FILE_OPEN 40001 |
|
||||||
#define ID_FILE_EXIT 40002 |
|
||||||
#define ID_FILE_OPENDIRECTORY 40003 |
|
||||||
#define ID_FILE_ABOUT 40004 |
|
||||||
#define ID_FILE_FINDOBJECT 40005 |
|
||||||
#define ID_FILE_FINDNEXT 40006 |
|
||||||
#define ID_FILE_VERIFYPAGE 40007 |
|
||||||
#define ID_FILE_ONLYLOAD 40008 |
|
||||||
#define ID_FILE_SAVESELECTED 40009 |
|
||||||
|
|
||||||
// Next default values for new objects
|
|
||||||
//
|
|
||||||
#ifdef APSTUDIO_INVOKED |
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS |
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 110 |
|
||||||
#define _APS_NEXT_COMMAND_VALUE 40010 |
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1026 |
|
||||||
#define _APS_NEXT_SYMED_VALUE 101 |
|
||||||
#endif |
|
||||||
#endif |
|
Loading…
Reference in new issue