void DateFormatCommand :: BuildFormat( const std::string & fmt ) { string fs, ls; unsigned int pos = 0; char t = 0; while( pos < fmt.size() ) { char c = fmt[ pos++ ]; if ( c == t ) { fs += c; } else if ( IsFmtChar( c ) ) { AddFmt( fs ); AddLit( ls ); t = c; fs += c; } else { AddFmt( fs ); t = 0; ls += c; } } AddFmt( fs ); AddLit( ls ); // ALib::Dump( std::cout, mFormat ); }
void CFontsPage::FillInFormats() { AddFmt(IDS_FMT_T42LOCAL,&m_fmtT42Local); AddFmt(IDS_FMT_T42REMOTE,&m_fmtT42Remote); AddFmt(IDS_FMT_T42SYSTEM,&m_fmtT42System,0); m_FormatsCtl.SetCurSel(0); OnSelchangeFormatname(); }
int Ctrl::DoDragAndDrop(const char *fmts, const Image& sample, dword actions, const VectorMap<String, ClipData>& data) { LLOG("------------------------------"); LLOG("DoDragAndDrop " << fmts); TopWindow *w = GetTopWindow(); if(!w || !w->top) return DND_NONE; int gdk_actions = 0; if(actions & DND_MOVE) gdk_actions |= GDK_ACTION_MOVE; if(actions & DND_COPY) gdk_actions |= GDK_ACTION_COPY; GtkTargetList *list = CreateTargetList(data); dnd_fmts.Clear(); for(int i = 0; i < data.GetCount(); i++) AddFmt(list, data.GetKey(i), i); Vector<String> f = Split(fmts, ';'); for(int i = 0; i < f.GetCount(); i++) { AddFmt(list, f[i], data.GetCount() + i); dnd_fmts.Add(f[i]); } dnd_source_data = &data; dnd_result = DND_NONE; dnd_source = this; if(IsNull(sample)) dnd_icon = Null; else { Size sz = sample.GetSize(); if(sz.cx > 128) sz.cx = 128; if(sz.cy > 128) sz.cy = 128; sz += 2; ImageDraw iw(sz); iw.DrawRect(sz, White()); DrawFrame(iw, sz, Black()); iw.DrawImage(1, 1, sz.cx, sz.cy, sample); ImageBuffer b(128, 128); dnd_icon = iw; } gtk_drag_begin(w->top->window, list, GdkDragAction(gdk_actions), GetMouseLeft() ? 1 : GetMouseMiddle() ? 2 : 3, CurrentEvent.event); while(dnd_source && GetTopCtrls().GetCount()) ProcessEvents(); dnd_source_data = NULL; gtk_target_list_unref (list); LLOG("-------- DoDragAndDrop"); return dnd_result; }
AP_Win32Clipboard::AP_Win32Clipboard(void) : XAP_Win32Clipboard(), m_pClipboardDoc(NULL) { #define AddFmt(szFormat,cf) do { m_vecFormat.addItem((void*)szFormat); m_vecCF.addItem((void *)cf); } while (0) // TODO We may want to add CF_LOCALE to supplement CF_TEXT AddFmt(AP_CLIPBOARD_TEXTPLAIN_8BIT, CF_TEXT); AddFmt(AP_CLIPBOARD_TEXTPLAIN_UCS2, CF_UNICODETEXT); AddFmt(AP_CLIPBOARD_RTF, RegisterClipboardFormat(CF_RTF)); AddFmt(AP_CLIPBOARD_BMP, CF_BITMAP); AddFmt(AP_CLIPBOARD_UNKNOWN, 0); // must be last // We don't need to g_free these strings in our destructor // because we did not allocate any of the string pointers. #undef AddFmt }
void AP_UnixClipboard::addFormat(const char * fmt) { AddFmt(fmt); vec_DynamicFormatsAccepted.insert(vec_DynamicFormatsAccepted.begin(), fmt); }
AP_UnixClipboard::AP_UnixClipboard(AP_UnixApp * pApp) : XAP_UnixClipboard(pApp) { // DECLARE IN ORDER OF PREFERENCE RECEIVING // rich text types AddFmt(AP_CLIPBOARD_TXT_RTF); AddFmt(AP_CLIPBOARD_APPLICATION_RTF); // image types AddFmt ( AP_CLIPBOARD_IMAGE_GOChart ) ; AddFmt ( AP_CLIPBOARD_IMAGE_PNG ) ; AddFmt ( AP_CLIPBOARD_IMAGE_JPEG ) ; AddFmt ( AP_CLIPBOARD_IMAGE_TIFF ) ; AddFmt ( AP_CLIPBOARD_IMAGE_GIF ) ; AddFmt ( AP_CLIPBOARD_IMAGE_BMP ) ; AddFmt ( AP_CLIPBOARD_IMAGE_XBM ) ; AddFmt ( AP_CLIPBOARD_IMAGE_XPM ) ; AddFmt ( AP_CLIPBOARD_IMAGE_PNM ) ; AddFmt ( AP_CLIPBOARD_IMAGE_PPM ) ; AddFmt ( AP_CLIPBOARD_IMAGE_PGM ) ; AddFmt ( AP_CLIPBOARD_IMAGE_WBMP ) ; AddFmt ( AP_CLIPBOARD_IMAGE_RAS ) ; AddFmt ( AP_CLIPBOARD_IMAGE_WMF ) ; AddFmt ( AP_CLIPBOARD_IMAGE_SVG ) ; AddFmt ( AP_CLIPBOARD_IMAGE_SVG_XML ) ; // plain text types AddFmt(AP_CLIPBOARD_TEXT_UTF8_STRING); AddFmt(AP_CLIPBOARD_TEXT); AddFmt(AP_CLIPBOARD_TEXT_STRING); AddFmt(AP_CLIPBOARD_TEXT_PLAIN); AddFmt(AP_CLIPBOARD_TEXT_COMPOUND); // hypertext types AddFmt ( AP_CLIPBOARD_TXT_HTML ) ; // actually XHTML, but who's counting? AddFmt ( AP_CLIPBOARD_APPLICATION_XHTML ) ; vec_DynamicFormatsAccepted.insert(vec_DynamicFormatsAccepted.begin(), NULL); // O Dformat. This is provided by a plugin addFormat(AP_CLIPBOARD_APPLICATION_ODT); }