void LngSetAdd(const char *id, int lang, const char *txt, bool addid) { CriticalSection::Lock __(slng); CharS ids; ids.s = PermanentCopy(id); String text = ToCharset(CHARSET_UTF8, txt, GetLNGCharset(lang)); lang = SetLNGCharset(lang, CHARSET_UTF8); Array<LngModule>& ma = sMod(); for(int i = 0; i < ma.GetCount(); i++) { LngModule& m = ma[i]; int q = m.map.Find(ids); if(q >= 0) { char *t = PermanentCopy(text); Vector<LngRec>& r = m.map[q]; for(int i = 0; i < r.GetCount(); i++) if(r[i].lang == lang) { r[i].text = t; return; } LngRec& rec = r.Add(); rec.lang = lang; rec.text = t; return; } } if(addid) { if(ma.GetCount() == 0) ma.Add(); LngRec& r = ma.Top().map.Add(ids).Add(); char *t = PermanentCopy(text); strcpy(t, text); r.lang = lang; r.text = t; } }
const LanguageInfo& GetLanguageInfo(int lang) { Mutex::Lock __(sLanguageInfoMutex); if(!lang) lang = GetCurrentLanguage(); lang = SetLNGCharset(lang, 0); ArrayMap<int, LanguageInfo>& m = LangMap(); int q = m.Find(lang); if(q >= 0) return m[q]; LanguageInfo& f = m.Add(lang); f.Set(lang); return f; }
Threads::Threads() : threads(0) , area(-2.0,-1.1, 0.60, 1.1) , densityR (1) , densityC (1) , rows (1) , cols (1) , julia_c(Complex(-0.4,0.6)) , posOnClick(0,0) , moveShift(0,0) , moving(false) { SetLanguage(SetLNGCharset(GetSystemLNG(), CHARSET_UTF8)); CtrlLayout(*this, t_("Threads")); inp_col.SetData(4); inp_row.SetData(3); inp_iter.SetData(500); inp_threads.SetData(3); edb_re.SetData(-0.4); edb_im.SetData(0.6); AddFrame(statusBar); statusBar.AddFrame(time.Right(140)); BackPaint(); Zoomable().Sizeable(); picbox.onPaint = callback(this, &Threads::picbox_Paint); picbox.onLeftDown = callback(this, &Threads::picbox_LeftDown); picbox.onLeftUp = callback(this, &Threads::picbox_LeftUp); picbox.onMouseMove= callback(this, &Threads::picbox_MouseMove); cbx_fractal_set.Add( t_("Mandelbrot")); cbx_fractal_set.Add( t_("Qubic Mandelbrot")); cbx_fractal_set.Add( t_("Quadric Mandelbrot")); cbx_fractal_set.Add( t_("Julia Set")); cbx_fractal_set.Add( t_("Qubic Julia Set")); cbx_fractal_set.Add( t_("Quadric Julia Set")); cbx_fractal_set.Add( t_("Phoenix Set")); cbx_fractal_set.Add( t_("BacPhoenix Set")); cbx_fractal_set.Add( t_("Bać Set - my own :) discovered by mistake...")); cbx_fractal_set.WhenAction = THISBACK(SetSelected); btn_recalculate.WhenAction = THISBACK(DoJob); cbx_fractal_set.SetIndex(0); }