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 38 minuta
  • Pongy75: Sony i ekipa uskoro na aparatima, ako već i nisu. Pohlepa se na kraju obije u glavu… Masovni izlazak portova igara za gotovo sve PS generacije, a ovo je tek početak. [link]
  • VanjusOS: Drugi link ne mogu otvoriti
  • CoffeePod: Radi nevjerojatno dobro
  • CoffeePod: I koristis jednu od ove dvije aplikacije
  • CoffeePod: [link]
  • CoffeePod: [link]
  • CoffeePod: USB kabel, ili thunderbolt kabel (na drugom kraju koristis konverter Thunderbolt 2 na C npr)
  • VanjusOS: kako spajate iMac kao dodatni monitor, sa kojim uređajem spajate? Macbook ili nešto drugo?
  • Riba: Ja bacio oko na brzinu na Vinted, ima novih u kutiji za 50 eura i polovni za 40tak.
  • vodka29: Dodatno, ako netko ima dodatnu ideju kako produžiti život Apple Thunderbolt displayu, javite :D
  • vodka29: Pogledam, hvala.
  • CoffeePod: Mislim da sam vidio da čak ima. Al evo gledam ima ih i po eBayu u UK i nizozemskoj za 50-70€
  • vodka29: "Narucio preko Vinteda iz Rumunjske" ima li još koji na lageru? :D
  • CoffeePod: Ali Thunderbolt 2 nam treba da maknemo latency (RetinaRelay super app al je 40$)
  • CoffeePod: Inace, probali OpenDisplay app i uredno iMac radi kao eksterni ekran :)
  • CoffeePod: Narucio preko Vinteda iz Rumunjske
  • vodka29: Kupujem Thunderbolt 1 ili 2 kabel, Zagreb idealno.
  • Riba: Srecom imam jedan ali mi treba za vanjski disk.
  • Riba: CoffeePod, uh, sretno. To je bas unobtanium ili po suludim cijenama na ebayu.
  • CoffeePod: Ima netko za prodati Thunderbolt 2 kabel?
  • Yonkis: Sjeća li još netko OS 1.0 [link]
  • dpasaric: HomeView brzinski osvrt na naslovnici!
  • Yonkis: Možda imaš tonu mailova i još ih nije “prožvakao”?
  • drlovric: Ma ne radi nista vjeruj mi. Sprdacina od asistenta. Ljudi u EU su spasili sto to nemaju. Jedino sto zna malo bolje fotografije pretrazivati. To sam primjetio.
  • Yonkis: drlovric - a na kojem jeziku pričaš? Jesi probao Yoda načinom/govorom?
  • drlovric: Siri nije nu stanju pronaci jedan jedini email iz Apple Mail app. Ovo kontekstualno preseravanje su ciste lazi i obmane. Glupa je kao i ranije, samo HW zahtjevnija sto nam generira skuplje uredjaje.
  • Borostef: Ali od HomeView-a nista do daljnjeg u EU
  • Yonkis: Sam Tucker je to odlično pojasnio, kako je iPad Mini imao intimne odnose sa raznoraznim Apple uređajima [link]
  • drlovric: AppleTV skuplji duplo jer ima Siri. Zvucnik 50% poskupio jer je sad kao pametniji :P Siri i pamet. Mos misliti…
  • drlovric: I sve uredjaje poskupili na ime Siri AI. Vec vidim nove sudske procese. Nista nisu naucili iz onog Appme intelligence fijaska :)
  • Piko: to i je iPad "nano" zalijepljen na HomePod ...
  • drlovric: Ovo bi sve mogao raditi iPad, samo da zele to omoguciti. To mi je nekakav prvi dojam.
  • drlovric: Stigao nam HomeView :)
  • Djuro genijalac: Eto, i to se događa (koji click-bait..! LOL)
  • Djuro genijalac: [link]
  • Riba: Skinuo, tnx!
  • Soffoklo: Odličan app koji je puno informativniji od Activity Monitora, a dev je tvorac originalnog Windows Task Manager - [link]
  • Krehacro: Na kraju uzeo garmin venu 4
  • Gjuroo: RIP
  • Pongy75: RIP Bare - Napustio nas je jedan od najvećih
  • Yonkis: RIP Goran Bare
  • Riba: Pomalo, sutra tek idem po G5. :)
  • markoveic: riba, kako radi Morphos?
  • Riba: Cider!
  • smayoo: Živ ti nama bio još 100 godina! :)
  • markoveic: nakon xx godina navartio da vidim dal ste zivi, i zivi ste.... Evo mene molji ljudi dosa san vam na bevandu...sok od jabuke :)
  • Borisone: MBA13 M4 u oglasniku ako nekom treba povoljno.
  • dpasaric: Godišnjica smrti Jobsa, preko milijun ljudi je do sada ostavilo poruku na stranici koju Apple i dalje održava: [link]
  • Soffoklo: Vše o svemu ovdje - [link]
  • Soffoklo: CoreGraphics propust, za koji je objavljen PoC s malicioznim PDF-om, zakrpan je u iOS-u/iPadOS-u 26.7.1, macOS-u Tahoe 26.7.1 i Sequoia 15.8.1.

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.85 Seconds

Provided by iJoomla SEO