Как я использую Инструменты Рефакторинга Eclipse и остаюсь в синхронизации с SVN через Subclipse?

Если я правильно понимаю ваш вопрос, то этого можно достичь с помощью следующего набора ключевых кадров:

@keyframes fadein {
  0% {
    opacity: 1;

  }
  37.5% {
    /* 3 / 8 */
    opacity: 1; 
  }
  50% {
    /* (3 + 1) / 8 */
    opacity: 0.0; 
  }
  87.5% {
    /* (3 + 1 + 3) / 8 */
    opacity: 0.0; 
  }
  100% {
    opacity: 1; 
  }
}

Комментарии показывают, как рассчитываются проценты для различных ключевых кадров на основе ваших требований. Другое ключевое изменение, которое нужно сделать, - это удалить поведение alternate из правила анимации, чтобы обеспечить повторение цикла анимации в соответствии с требованиями:

/* remove alternate */
animation: fadein 8s linear 0s infinite;

Вот урезанная копия вашего кода для выделить анимированный круг:

function animationListener(event) {
  var type = event.type;
  var label = type;
  
  if (type=="animationiteration") {
    if (app.interval!=null) {
      clearInterval(app.interval);
    }
    app.time = 0;
    app.startTime = new Date().getTime();
    app.interval = setInterval(intervalFunction, 1000);
    intervalFunction();
    label = "iteration";
  }
  else if (type=="animationstart") {
    label = "start";
  }
  else if (type=="animationend") {
    label = "end";
  }
  
  app.stateLabel.innerHTML = label;
}

function intervalFunction() {
  var time = new Date().getTime();
  app.timeLabel.innerHTML = Math.round((time - app.startTime)/1000);
  app.keyframeLabel.innerHTML = window.getComputedStyle(app.ellipse).content;
}

function loadHandler() {
  app.ellipse = document.getElementById("Ellipse_49").parentNode;
  app.stateLabel = document.getElementById("stateLabel");
  app.timeLabel = document.getElementById("timeLabel");
  app.keyframeLabel = document.getElementById("keyframeLabel");
  
  app.ellipse.addEventListener("animationiteration", animationListener);
  app.ellipse.addEventListener("animationend", animationListener);
  app.ellipse.addEventListener("animationstart", animationListener);
}

document.addEventListener("DOMContentLoaded", loadHandler);
var app = {};
* {
  font-family: sans-serif;
  font-size: 11px;
  letter-spacing: .6px;
}

#Ellipse_49 {
  opacity: 1;
  fill: rgba(180, 180, 180, 1);
  stroke: rgb(112, 112, 112);
  stroke-width: 1px;
  stroke-linejoin: miter;
  stroke-linecap: butt;
  stroke-miterlimit: 4;
  shape-rendering: auto;
}

.Ellipse_49 {
  position: absolute;
  overflow: visible;
  width: 56px;
  height: 56px;
  left: 72px;
  top: 51px;
  
  /* remove alternate */
  animation: fadein 8s linear 0s infinite;
}

#container {
   top: 130px;
   left: 10px;
   position: relative;
   display: block;
   align-items: center;
   
}

label {
  width: 80px;
  display: inline-block;
}

@keyframes fadein {
  0% {
    opacity: 1;
    content: "show";
  }
  37.5% {
    /* 3 / 8 */
    opacity: 1;
    content: "fade out";
  }
  50% {
    /* (3 + 1) / 8 */
    opacity: 0.0;
    content: "wait";
  }
  87.5% {
    /* (3 + 1 + 3) / 8 */
    opacity: 0.0;
    content: "fade in";
  }
  100% {
    opacity: 1;
    content: "show";
  }
}
<svg class="Ellipse_49">
		<ellipse id="Ellipse_49" rx="28" ry="28" cx="28" cy="28">
		</ellipse>
</svg>


<div id="container">
  <label>time: </label>
  <span id="timeLabel"></span>
  <br>
  <label>state: </label>
  <span id="stateLabel"></span>
  <br>
  <label>key frame: </label>
  <span id="keyframeLabel"></span>
</div>

12
задан Nik Reiman 20 February 2009 в 19:02
поделиться

4 ответа

Начиная с 1.4.x выпуски, Subclipse обрабатывает это вполне прилично. Если у Вас есть ошибки, сообщите о них. В предшествующих выпусках это обработало некоторые ситуации, но не других. Это происходило из-за ограничений Подверсии, которые были зафиксированы в SVN 1.5. Например, до SVN 1.5 при переименовании папки Вы не могли бы также переименовать файл в папке (пока папка не фиксировалась). Эти виды вещей были всеми очень общими рефакторингами, и SVN помешает.

Все это работает вполне прилично теперь все же.

Mark

10
ответ дан 2 December 2019 в 20:19
поделиться

Я очень не хочу войти и сказать 'Ур, делающий его rong', но начиная с Вашего упоминания строки темы Subclipse - Subclipse интегрируется с инструментами рефакторинга Eclipse. Делает Подрывной. При переименовании класса он выполняется 'svn mv' для Вас внизу. Вы никогда не должны должны быть пытаться копировать те перемещения вручную.

Интересно, не присоединяет ли по некоторым причинам Subclipse к Вашему проекту - если он не знает Ваш проект проект Подверсии. Затем, очевидно, это ничего не сделало бы.

Если Вы не используете Subclipse/Subversive... запускаются.:)

4
ответ дан 2 December 2019 в 20:19
поделиться

Вы попробовали подрывной? Рефакторинг, кажется, хорошо работает для меня с ним.

На самом деле я попробовал subclipse также, и это, кажется, обрабатывает его прекрасный, по крайней мере, с версией 1.4.7. Я просто попытался переименовать пакет и класс. Eclipse отмечает старый, как удалено и добавляет новый, который, как запланировали, будет добавлен к репозиторию.

3
ответ дан 2 December 2019 в 20:19
поделиться

Subclipse будет заботиться о svn, перемещается/переименовывает, когда Вы осуществляете рефакторинг в Eclipse.

-1
ответ дан 2 December 2019 в 20:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: