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:
twanvl
2006-12-21 22:09:42 +00:00
parent 2ba1d0b1b8
commit a9a93c07c3
4 changed files with 31 additions and 17 deletions
+3 -3
View File
@@ -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);
} }
+13 -9
View File
@@ -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();
} }
} }
+7 -5
View File
@@ -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);
} }
+8
View File
@@ -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);
} }