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 1 dan, 5 sati
  • Yonkis: Ova opcija neće nikada biti dostupna u EU ili...? [link]
  • Yonkis: The iOS 26.4.2, iPadOS 26.4.2, iOS 18.7.8, and iPadOS 18.7.8 updates that Apple released today address a security vulnerability that the FBI recently used to extract Signal message previews from an iPhone even after the app was deleted.
  • drlovric: Ja sam zadnji put cuo nikada da mi neko kaze, jao jest mi spor SSD na Mac :) To samo forsiraju ovi YT recenzenti. Nama normalnim smrtnicima totalno nebitna stavka na modernim M Macovima...
  • Yonkis: Zato jer mac diktira koliko će brzo SSD raditi. Ako radi max onda ce se i trošiti max. Ovako radi laganica pa traje dulje. Ovo pričam iz guzice. Možda ima smisla.
  • ZoPaj: mjerim s blackmagic disk speed test: mac studio m4 1tb disk 6380 mb/s read, 5200 write vanjski tb5 samsung 9100pro 4tb u acasis 80gps 6430 mb/s read, 6000 write znači vanjski brži od ugrađenog mac ssd
  • jura22: Uz TB5 i dobro kućište dobiju se velike brzine prijenosa podataka, ne kao interni SSD (otprilike duplo manje).
  • jura22: RAM se ne da "odlemiti" jer je sastavni dio SoC-a.
  • Ender: @cavarovobrdo: ... ili barem SSD.
  • cavarovobrdo: Nadam se da će novi CEO odlemiti RAM ;)
  • cavarovobrdo: Muštuluk: John Ternus to become Apple CEO
  • imenso: John Ternus novi CEO
  • CoffeePod: @yonkis jos me macOS 26 nije vidio a tko zna hoce li 27. Sequioa mi je toliko dobra da nemam razloga updejtati, a cijela prica sa Liquid Glass mi je odvratna.
  • Yonkis: The upcoming macOS 27 release will be compatible with Apple silicon Macs only.
  • dpasaric: Možeš uz search naći svaki
  • dpasaric: Pa zadnji intervju je na naslovnici, a ostali raspršeni tijekom godina
  • Ender: @dpasaric: a gde su ti razgovori? mislim gde se mogu naci?
  • Performita: Omogućuje lako postavljanje novih uređaja, sigurnost podataka i poslovni email bez velikog IT odjela. Cilj je da tvrtke rade jednostavnije i sigurnije na Apple uređajima.
  • drlovric: U cemu je fora sa ti Business? Imamo li mi mali smrtnici neku korist od toga ili je to samo za velike tvrtke?
  • Performita: Kalimera, Dobro jutro... ovo za Apple Business rolls zvuči kao izvrsna vijest!!!
  • Borisone: Apple Business rolls out to 200 countries today - brace for impact - even Croatia!
  • Yonkis: iOS 26.4.1 and iPadOS 26.4.1 This update has no published CVE entries.
  • stefanjos: Treba mi as u rukavu kada me netko pita gdje da ide haha :D
  • smayoo: Ima ih nekoliko koji se oglašavaju kao iPhone serviseri, nijedan mi nije baš ulio povjerenje, ali nemam neposrednih loših iskustava.
  • stefanjos: gdje nositi iphone na popravak u rijeci kada nema jm elektronike?
  • Yonkis: @smayoo Nema na čemu, evo ja upisah.
  • smayoo: @Yonkis, evo, otključano, hvala na upozorenju!
  • dpasaric: Booo?
  • Yonkis: “ Lažu li nas :) ...nastavak sa vikalice.” - tema zaključana a zadnji post završava sa pitanjem?
  • smayoo: Sretan Uskrs!
  • Yonkis: Sretan Uskrs braćo! I sestre!
  • zoranowsky: Sretan Uskrs!
  • Gjuroo: Sretan Uskrs!
  • Miro Spiro: sretan Uskrs
  • user: da bar je propao kao što su Microsoft i ostali predviđali, hvala što si pokrenuo najgori trend u techu Steve.
  • Yonkis: [link] Who’s in Apple’s top 10? Here’s the full list of the most influential people of all time
  • Yonkis: [link] netko fino složio povijest svih modela iPhonea, jako lijepo.
  • Yonkis: Apple employee #8 Chris Espinosa on working his whole life at one company: [link]
  • Ender: vrlo moguce, ja video to na nasem sajtu 02. apr. sorry.
  • Yonkis: @ender članak je prekopiran odavdje [link] i po tome ispada da je 1.april šala.
  • Ender: AMD kupuje Intel: istorijski preokret koji menja čitavu x86 industriju [link]
  • dpasaric: Super je prošlo! :) Sretno im!
  • miomika: Možda glupo pitanje, dal će se vidjeti putovanje te rakete iz .hr prema mjesecu? zasada nije oblačno
  • Ender: USA lansiranje rakete sa ljudskom posadom ka mesecu
  • Ender: [link]
  • Ender: [link]
  • CoffeePod: @yonkis iStyle takvo ruglo od firme. Pogotovo dućan u Splitu. Osoblje nema pojma, morao sam ih sve školovat :P
  • dpasaric: Večeras tko je u Rijeci u Piki na proslavu 50 godina! :)
  • Borisone: Onaj dan u godini?
  • Yonkis: zato iStyle daje popust od 2.27% ne od 3% ne od 2.5% nego 2.27% Presmiješno.
  • Tito: Kupio sam 3 MBA i 2 iphonea

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.48 Seconds

Provided by iJoomla SEO