mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-13 14:07:01 -04:00
exception/error handling
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@137 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
@@ -269,9 +269,9 @@ void CardListBase::rebuild() {
|
|||||||
FOR_EACH(f, new_column_fields) {
|
FOR_EACH(f, new_column_fields) {
|
||||||
ColumnSettings& cs = settings.columnSettingsFor(*set->game, *f.second);
|
ColumnSettings& cs = settings.columnSettingsFor(*set->game, *f.second);
|
||||||
int align;
|
int align;
|
||||||
if (f.second->card_list_align == ALIGN_RIGHT) align = wxLIST_FORMAT_RIGHT;
|
if (f.second->card_list_align & ALIGN_RIGHT) align = wxLIST_FORMAT_RIGHT;
|
||||||
else if (f.second->card_list_align == ALIGN_CENTER) align = wxLIST_FORMAT_CENTRE;
|
else if (f.second->card_list_align & ALIGN_CENTER) align = wxLIST_FORMAT_CENTRE;
|
||||||
else align = wxLIST_FORMAT_LEFT;
|
else align = wxLIST_FORMAT_LEFT;
|
||||||
InsertColumn((long)column_fields.size(), capitalize(f.second->card_list_name), align, cs.width);
|
InsertColumn((long)column_fields.size(), capitalize(f.second->card_list_name), align, cs.width);
|
||||||
column_fields.push_back(f.second);
|
column_fields.push_back(f.second);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,15 +57,19 @@ class CardThumbnailRequest : public ThumbnailRequest {
|
|||||||
, filename(filename)
|
, filename(filename)
|
||||||
{}
|
{}
|
||||||
virtual Image generate() {
|
virtual Image generate() {
|
||||||
ImageCardList* parent = (ImageCardList*)owner;
|
try {
|
||||||
Image image;
|
ImageCardList* parent = (ImageCardList*)owner;
|
||||||
if (image.LoadFile(*parent->set->openIn(filename))) {
|
Image image;
|
||||||
// two step anti aliased resampling
|
if (image.LoadFile(*parent->set->openIn(filename))) {
|
||||||
image.Rescale(36, 28); // step 1: no anti aliassing
|
// two step anti aliased resampling
|
||||||
Image image2(18, 14, false); // step 2: with anti aliassing
|
image.Rescale(36, 28); // step 1: no anti aliassing
|
||||||
resample(image, image2);
|
Image image2(18, 14, false); // step 2: with anti aliassing
|
||||||
return image2;
|
resample(image, image2);
|
||||||
} else {
|
return image2;
|
||||||
|
} else {
|
||||||
|
return Image();
|
||||||
|
}
|
||||||
|
} catch (...) {
|
||||||
return Image();
|
return Image();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -153,11 +153,13 @@ bool ThumbnailThread::done(void* owner) {
|
|||||||
// store image
|
// store image
|
||||||
r.first->store(r.second);
|
r.first->store(r.second);
|
||||||
// store in cache
|
// store in cache
|
||||||
String filename = image_cache_dir() + safeFilename(r.first->cache_name) + _(".png");
|
if (r.second.Ok()) {
|
||||||
r.second.SaveFile(filename, wxBITMAP_TYPE_PNG);
|
String filename = image_cache_dir() + safeFilename(r.first->cache_name) + _(".png");
|
||||||
// set modification time
|
r.second.SaveFile(filename, wxBITMAP_TYPE_PNG);
|
||||||
wxFileName fn(filename);
|
// set modification time
|
||||||
fn.SetTimes(0, &r.first->modified, 0);
|
wxFileName fn(filename);
|
||||||
|
fn.SetTimes(0, &r.first->modified, 0);
|
||||||
|
}
|
||||||
// remove from name list
|
// remove from name list
|
||||||
request_names.erase(r.first);
|
request_names.erase(r.first);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -142,6 +142,14 @@ void SetScriptManager::onAction(const Action& action, bool undone) {
|
|||||||
TYPE_CASE_(action, ScriptValueEvent) {
|
TYPE_CASE_(action, ScriptValueEvent) {
|
||||||
return; // Don't go into an infinite loop because of our own events
|
return; // Don't go into an infinite loop because of our own events
|
||||||
}
|
}
|
||||||
|
TYPE_CASE(action, AddCardAction) {
|
||||||
|
// update the added card specificly
|
||||||
|
Context& ctx = getContext(action.card);
|
||||||
|
FOR_EACH(v, action.card->data) {
|
||||||
|
v->update(ctx);
|
||||||
|
}
|
||||||
|
// note: fallthrough
|
||||||
|
}
|
||||||
TYPE_CASE_(action, CardListAction) {
|
TYPE_CASE_(action, CardListAction) {
|
||||||
updateAllDependend(set.game->dependent_scripts_cards);
|
updateAllDependend(set.game->dependent_scripts_cards);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user