Bir Geri Al / Yinele yığını içeren bir Java uygulaması uyguluyorum. Bazı uygulamaların (Mac OS X'te TextEdit gibi), bazı metinleri yazdıktan sonra Düzen Menüsünden "Yazmayı Geri Al" ı seçmenize izin verdiğini fark ettim. Bu tür şeyleri de uygulamama uygulamak istiyorum, ancak nasıl davranması gerektiği konusunda yönergeler bulmakta gerçekten zorlanıyorum.
Bazı deneme yanılma yöntemiyle TextEdit'in Geri Almayı Yazma'nın nasıl davrandığına dair en iyi tahminim:
- Kullanıcı yeni bir karakter yazdığında (veya silme anahtarını yazdığında), aşağıdaki durumlardan biri meydana gelmedikçe, Geri Al yığınının üstündeyse, önceki Yazmayı Geri Al öğesine birleştirin
- Kullanıcı en az 15 saniye boyunca herhangi bir işlem yapılmadığında yazmaya devam ettikten sonra her zaman yeni bir Yazmayı Geri Al öğesi oluşturun
- Kullanıcı uzun bir süre yazdıktan ve bazı koşullar sağlandıktan sonra her zaman yeni bir Geri Yazmayı Geri Al öğesi oluşturun (bunun zamana veya karakter sayısına dayalı olup olmadığını anlayamadık).
- Herhangi bir metin seçilip silindiğinde veya üzerine yazıldığında her zaman yeni bir Yazmayı Geri Al öğesi oluşturun (metin seçme, değişiklik yapma, ardından orijinal ekleme noktasına dönme ve yazmaya devam etme bunu tetiklemez)
Uygulamada, Apple'ın stratejisi işe yarıyor gibi görünüyor (en azından yazdığımda benim için çalışıyor), ancak son noktaya göre, kuralları gerçekten anlayamadım. Ayrıca, diğer programlar Microsoft Word gibi farklı kurallara uyuyor gibi görünüyor. Google, Geri Al Yazma işlevinin herhangi bir uygulaması için tanımlanmış bir kurallar listesi göndermedi ve nasıl davranması gerektiği konusunda en iyi uygulamalarla karşılaşmadım. Peki nasıl davranmalı? Yoksa programcının kaprisine mi kalmış?
EDIT: Sadece açıklığa kavuşturmak için, şu anda uygulama ayrıntıları ile ilgilenmiyorum. Özellikle bunu açıklayan bir yetkili referansın (örneğin en iyi uygulamalar veya kullanıcı arayüzü belgesi) olup olmadığını veya birden fazla ürüne nasıl uygulandığının açıklamasını merak ediyorum.
124<delete>3
, geri alma ve yineleme ile sonuçlanır 123
. Bunun avantajı, kullanıcının yukarıdaki öneride olduğu gibi metnin son durumuna yol açmasıdır.