Dashcode
(1 korsinik/a gleda/ju temu) (1) Gost

Dashcode


12.09.2008 | 15:27
Zna li itko kako da napravim widget da samo kliknem na riječ pa da napravi copy, tako da samo u safariu napravim past?!

Nadam se da razumijete pitanje,nešto tipa serialbox klik-copy?!
13.09.2008 | 02:06
Zna li itko kako da napravim widget da samo kliknem na riječ pa da napravi copy, tako da samo u safariu napravim past?!


Pretpostavimo da imaš nekakav textarea u svom widgetu, u kojem je tekst. I pretpostavimo da kopiranje ne trigga klik (onclick event) nego dupli klik (ondblclick event), kao u Serial Boxu.

Zapravo, da ne pretpostavljamo uzalud možeš kreirati novi Custom widget (prazan), u njemu jedan textarea i upiši u textarea nekoliko riječi, tako da je svaka od sljedeće odvojena newline (return) karakterom. To će "glumiti" tabelarne retke iz Serial Boxa, da ne petljamo s konstrukcijom prave tablice.

Sad dodaj handler za ondblclick event (textarea). Nazovi ga kakogod i u njega možeš kopirati ovo:

function kakogod(event)
{
var dataForPasteboard = event.target.defaultValue.substring(event.target.selectionStart,event.target.selectionEnd);
widget.system("/bin/echo -n '"+dataForPasteboard+"' | /usr/bin/pbcopy", null);
}

U Widget Attributes OBAVEZNO uključi Allow Command Line Access. Pokreni widget, dblklikni na neku od riječi u textarea i upravo si je kopirao u clipboard.

Što gornji event napravi? Prvo parsa selekciju i kopira označeni dio u varijablu dataForPasteboard. Blagodat dblklika (i razlog zašto je ovo zakačeno za ondblclick) je što će automatski selektirati cijelu riječ na koju klikneš. Možeš koristiti i onselect ako ti više odgovara preciznija selekcija.

Da bi druga linija (widget.system...) radila, widgetu mora biti dozvoljen pristup komandnoj liniji (od tuda onaj Allow Command Line Access). Sintaksa u nastavku poziva sistemsku pbcopy naredbu (hint: postoji i pbpaste) i to tako da joj proslijedi sadržaj varijable dataForPasteboard (u kojoj je selekcija) printajući njen sadržaj s naredbom echo i koristeći switch "-n" da echo NE doda newline karakter prilikom prosljeđivanja selekcije u clipboard - u protivnom bi Paste (u Safariju ili bilo gdje drugdje) osim selekcije, automatski imao i jedan "enter" na kraju.

Umjesto onog "null" iza zareza bi trebao biti endHandler - ako je "null", funkcija se izvodi sinhrono, što znači da je ostatak widgeta "smrznut" dok funkcija ne obavi svoje. No, nije kritična (brzo se izvršava i mala je vjerojatnoća da će nešto poći po zlu) pa za "kućnu upotrebu" spomenuti endHandler nije nužan. Detalji su opisanu u ADC Home > Reference Library > Reference > Apple Applications > Dashboard > Dashboard Reference > Widget Object.

Inače, pozivanje komandne linije i pbcopy naredbe nije nešto što normalnom čovjeku prvo padne na pamet. Logičniji put bi bio korištenje oncopy handlera, ali problem je u tome što dotični postoji samo za body widgeta i trigga se na CMD+C (tipke!). Nije mi poznato kako triggati event u widgetu programski (s obzirom da fireEvent() ne postoji) pa to očito nije rješenje tvog problema. No, ako ti zatreba takvo rješenje, Dashcode ga ima u svom Code Libraryu, pod Events i zove se Copy Support. Ali ima i bug pa, ako ga odlučiš koristiti, imaj na umu da tamo gdje piše "display" zapravo treba pisati "dataForPasteboard".
13.09.2008 | 13:02
Ma ovo radi super! Nešto sam slično pokušavao ali ovaj kod koji si mi dao nisam nigdje pronašao,samo copy support koji mi nije pomogao.
Hvala puno a posebno na detaljnom objašnjenju!

P.S. Dal mogu zaključat text jer sad ga mogu u dashdordu slučajno promjenit?
13.09.2008 | 15:09
Dal mogu zaključat text jer sad ga mogu u dashdordu slučajno promjenit?


Zaključati dok editiraš, u Dashcodeu (ukratko: ne; možeš eventualno isključiti Visible flag, ali onda ne vidiš kompletan textarea) ili dok se izvršava?

Ako je ovo drugo u pitanju (a pretpostavljam da je), textarea je po defaultu editabilan i nema neki "switch" koji bi ga pretvorio u "view only". No, zato je tu workaround: dodaj handler na onkeypress (ili neki sličan, ovisi što ti najviše odgovara) event i u njemu "presretni" editiranje. Ako event nazoveš "presretac", ovo će biti dovoljno:

function presretac()
{
event.preventDefault();
event.stopPropagation;
}

Textarea će biti prikazan uredno, onselect će se ponašati normalno (i triggati kopiranje u clipboard), ali će svaki pritisak na tipku biti prosljeđen u crnu rupu. Imaj na umu da to znači da, dok je dotični textarea odabrana kontrola, ni CMD+Q ne radi! Tek kad user klikne izvan textarea, prestaje presretanje i može quitati widget preko tipkovnice - može biti feature, ali može biti i bug.
13.09.2008 | 16:30
Mislim da če ovako biti sasvim dobro.

thx Dj
Moderatori: Bertone
  • Stranica:
  • 1

Vikalica™

Zadnja poruka: pred 8 sati, 34 minuta
  • miomika: nisam znao. Ja sam na A1, tamo još ni ne razmišljaju..
  • Zdravac: danas naručio, stiže za 3-5 dana, pa kad stigne, napisati ću iz prve ruke kako radi :)
  • ZeljkoB: Jel vec tko isprobao eSIM sa Apple Watch?
  • ZeljkoB: @Zdravec, ovo je super vijest!
  • cariblanco: Elon postaje gori od Ele Dvornik, nije za vjerovati, mada mu i ja osim širim propagandu, ali čovjek ne može šutjeti na sve ove gluposti :(
  • Zdravac: ht - naknada dodatno na mjesečnu tarifu 4 eur
  • Zdravac: ht podržava multi sim i za apple watch (za galaxy watch već neko vrijeme)
  • Yonkis: iStyle počeo prodavati Apple Watch Cellular model.. Opa bato! Nismo više ograničeni :)
  • drlovric: Ne bih ja podcijenjivoa tako to trziste. Ogromna vecina ljudi u USA koriste iPhone, pa im je i Apple Maps logican izbor :)
  • smayoo: Ajd... Iako... zašto više troše novac na to. Kasne za Google Mapsom 20 godina, a za OSM-om 10.
  • Yonkis: Jeste li znali za Apple Mape na webu? [link]
  • Piko: Skužio, AppleInteligence, kategorizacije u Mailu, Image Playground i sl. se pjavi kada podesim sistemski jezik na Engleski …. Kada je na hrvatskom, toga ničeg nema… Bezveze.
  • smayoo: Podsjetnik, vidimo se sutra u Kokolu u 18h! [link]
  • drpongrac23: Čestitke!!! [link]
  • drpongrac23: Nemam, čak sam ugasio i upalio mob, sve izgleda po starom
  • Yonkis: Ja sam u Zagrebu :)
  • miomika: Nemam....to je zigleda privilegija Amerike i Australije.
  • Yonkis: Nemaš ove kategorizacije na vrhu? [link]
  • drpongrac23: Ja ne primjećujem nikakav update Mail app
  • Yonkis: Zanimljivo da je Mail app dobio update na telefonu ali ne i na iPadu i Macu. Očigledno smišljaju kako to prikazati na većim ekranima.
  • Zdravac: ...sa Apple intelligence
  • Zdravac: OS X Sequoia 15.2 update
  • drlovric: Mail app je fin redesign
  • drlovric: Bez veze je iskreno....niskoristi od svega toga
  • Piko: 18.2 isti ko i prijašnji .... nažalost "Image Playground" nije dostupan u HR
  • Gjuroo: Sam da se pridružim karminama za Šveca. Legenda stojedinice i svih nas koji smo tada bili privilegirani biti dio tog pokreta. Svima nama, koji smo morali slušati Raosa kako s balkona na Trgu viče "Strepiteee!", Radio 101 nije bio samo radio. Švec je bio veliki dio tog pokreta.
  • Yonkis: Pa baš ništa novo osim što se video sad prikazuje full screen na otvaranju. Baš sam to trebao (sarkazam). I naravno, spravci
  • drlovric: Instalira se 18.2 :)
  • hal9000: Linus VOLI novi Mac Mini! Hihihi! [link]
  • Beli: Počivaj u glazbi kume. My Hand Over My Heart...
  • smayoo: RIP. Ostaješ u sjećanju, Švec!
  • smayoo: Stvarno prerano. :/
  • smayoo: O, jebote... :(
  • FiFi: RIP Siniša Švec
  • Borisone: [link]
  • Lihto: prije prodaje
  • Lihto: Jel treba uključiti file vault pa onda formatirati Mac M1 ili je dovoljno erase all content and settings?
  • Beli: Prošla akcija ...
  • Beli: Aplikacija Funkey koja proizvodi zvuk mehaničke tipkovnice od sada je besplatna: [link]
  • dpasaric: Kakav entuzijast!!!
  • zoranowsky: Ajme mrak...
  • Gjuroo: Ludo.
  • hal9000: Izuzetno lijepo za pogledati: [link]
  • cariblanco: Sretan imandan Nikolama...jel vam kapnulo što u čizmu ;)
  • hal9000: Anketa bi trebala imati checkboxes, a ne radio buttons. Za nas koji koristimo više mac-ova. Just sayin'.
  • Yonkis: Kradljivci našli nov način krađe Apple proizvoda [link]
  • zoranowsky: Al me ložite :)
  • Yonkis: zoranowsky - kako reče jedan korisnik M1Pro-a: I think the sweet spot is M2 Pro as of right now. I really don't see a reason to get M3 Pro - it has lower memory bandwidth, less P-cores , and it costs more. But if you're on M1 Pro... Just don't upgrade, there is no point.
  • accom: [link]
  • accom: @zoranowsky, u krivu sam

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Anketa

Koji Mac koristite?

Page Speed 1.19 Seconds

Provided by iJoomla SEO