[Igarden-commit] Garden/source/Document MaterialPictSelectDialog.cpp, 1.19.2.2, 1.19.2.3 MaterialP
Status: Beta
Brought to you by:
jlbedell
|
From: Jeffrey B. <jlb...@us...> - 2007-01-11 02:58:57
|
Update of /cvsroot/igarden/Garden/source/Document In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv26311 Modified Files: Tag: Release_branch_v1 MaterialPictSelectDialog.cpp MaterialPictSelectDialog.h Log Message: Enable pasting multiple pictures without closing the dialog Index: MaterialPictSelectDialog.h =================================================================== RCS file: /cvsroot/igarden/Garden/source/Document/MaterialPictSelectDialog.h,v retrieving revision 1.10 retrieving revision 1.10.2.1 diff -C2 -d -r1.10 -r1.10.2.1 *** MaterialPictSelectDialog.h 9 Feb 2006 13:41:46 -0000 1.10 --- MaterialPictSelectDialog.h 11 Jan 2007 02:58:56 -0000 1.10.2.1 *************** *** 21,24 **** --- 21,30 ---- #include "PictureCell.h" + typedef struct + { + CGWorld *picture; + PictureInfo pictEntry; + } pasteInfo_t; + class MaterialPictureSelectDialog : public PictureSelectDialog { *************** *** 50,55 **** PictureCell *_cell; ! CGWorld *_defaultPicture; ! PictureInfo _defaultPictEntry; ! bool _valuePasted; }; --- 56,61 ---- PictureCell *_cell; ! CGWorld *_defaultPicture; ! PictureInfo _defaultPictEntry; ! XGDynArray<pasteInfo_t> _pastedItems; }; Index: MaterialPictSelectDialog.cpp =================================================================== RCS file: /cvsroot/igarden/Garden/source/Document/MaterialPictSelectDialog.cpp,v retrieving revision 1.19.2.2 retrieving revision 1.19.2.3 diff -C2 -d -r1.19.2.2 -r1.19.2.3 *** MaterialPictSelectDialog.cpp 10 Jan 2007 12:07:30 -0000 1.19.2.2 --- MaterialPictSelectDialog.cpp 11 Jan 2007 02:58:56 -0000 1.19.2.3 *************** *** 35,39 **** MaterialPictureSelectDialog::MaterialPictureSelectDialog(RGPDialogCallbackProc proc, void *parent) : PictureSelectDialog(proc, parent) { - _valuePasted = false; } --- 35,38 ---- *************** *** 74,79 **** long MaterialPictureSelectDialog::GetNumPictures() { ! if(_valuePasted && (strlen(_defaultPictEntry.GetLocalPath()) != 0)) ! return _cell->GetNumPictures() + 1; else return _cell->GetNumPictures(); --- 73,78 ---- long MaterialPictureSelectDialog::GetNumPictures() { ! if(_pastedItems.Length() != 0 && (strlen(_defaultPictEntry.GetLocalPath()) != 0)) ! return _cell->GetNumPictures() + _pastedItems.Length(); else return _cell->GetNumPictures(); *************** *** 99,104 **** canon = mat->GetCanonicalName(); ! if(_valuePasted && (strlen(_defaultPictEntry.GetLocalPath()) != 0) && (index == _cell->GetNumPictures())) ! entry = _defaultPictEntry; else _cell->GetPicture(index, NULL, entry); --- 98,103 ---- canon = mat->GetCanonicalName(); ! if(_pastedItems.Length() != 0 && (index >= _cell->GetNumPictures())) ! entry = _pastedItems[index - _cell->GetNumPictures()].pictEntry; else _cell->GetPicture(index, NULL, entry); *************** *** 329,335 **** if(_defaultPicture != NULL) { newEntry.SetLocalPath(fileNameObj); ! _defaultPictEntry = newEntry; ! _valuePasted = true; ChangeDefaultPicture(_defaultPicture); RebuildBottomPane(); --- 328,339 ---- if(_defaultPicture != NULL) { + pasteInfo_t info; + newEntry.SetLocalPath(fileNameObj); ! info.picture = _defaultPicture; ! info.pictEntry = newEntry; ! _pastedItems.push_back(info); ! ! _defaultPictEntry = newEntry; ChangeDefaultPicture(_defaultPicture); RebuildBottomPane(); *************** *** 421,427 **** void MaterialPictureSelectDialog::OKClicked(XGDialog *dlog) { PictureSelectDialog::OKClicked(dlog); ! if(_valuePasted) ! _cell->AddPicture(_defaultPicture, _defaultPictEntry); _cell->SetDefaultPicture(_defaultPicture, _defaultPictEntry); _cell->GetMaterial()->SetDefaultPicture(_defaultPictEntry); --- 425,438 ---- void MaterialPictureSelectDialog::OKClicked(XGDialog *dlog) { + long i, count; + PictureSelectDialog::OKClicked(dlog); ! ! count = _pastedItems.Length(); ! for(i = 0; i < count; i++) ! { ! _cell->AddPicture(_pastedItems[i].picture, _pastedItems[i].pictEntry); ! } ! _cell->SetDefaultPicture(_defaultPicture, _defaultPictEntry); _cell->GetMaterial()->SetDefaultPicture(_defaultPictEntry); |